Linux簡單瞭解入門學習一
1. 學習Linux之前先認識Unix
l Unix是一個強大的多使用者、多工作業系統。
l 於1969年在AT&T的貝爾實驗室開發。
l UNIX的商標權由國際開放標準組織(The Open Group)所擁有。
l UNIX作業系統是商業版,需要收費,價格比Microsoft Windows正版要貴一些。
2. Linux
l Linux是基於Unix的。
l 誕生於1991 年10 月5 日。
l Linux是一個自由的,免費的,原始碼開放的作業系統。
l Linux存在著許多不同的Linux版本,但它們都使用了Linux核心。
l 虛擬團隊
2.1. Linux歷史
Linux最初是由芬蘭赫爾辛基大學學生Linus Torvalds開發的,由於自己不滿意教學中使用的MINIX作業系統,
2.2. Linux的應用領域
l 伺服器系統
• Web應用伺服器、資料庫伺服器、介面伺服器、DNS、FTP等等;
l 嵌入式系統
• 路由器、防火牆、手機、PDA、IP 分享器、交換器、家電用品的微電腦控制器等等,
l 高效能運算、計算密集型應用
• Linux有強大的運算能力。
l 桌面應用系統
l 移動手持系統
2.3. Linux主流產品
redhat:linux發行版最大的
centos:基於redhat發行版重新編譯之後開源版本;
3. 安裝(為什麼要安裝虛擬機器呢?因為Linux非常貴,個人學習一般都是採用windows系統,所以我們只能在windows系統安裝虛擬機器用以來學習Linux系統)。
3.1. 安裝Linux虛擬機器(以下兩個虛擬機器是目前主流的虛擬機器),具體請自行網上查詢下載,這裡不做過多介紹。
3.2. 安裝Centos6.5虛擬機器
l 參考《使用VirtualBox建立虛擬機器(Centos6.5).docx》
3.3. 配置網路
執行命令:setup
設定自動獲取ip:
4. 檔案系統
l Windows磁碟分割槽格式:FAT16,FAT32,NTFS,exFAT
l Linux磁碟分割槽格式:與其它作業系統完全不同,共有兩種。一種是Linux Native主分割槽,一種是Linux Swap交換分割槽。常見磁碟檔案系統格式為:Ext2,ext3和ext4
檢視Linux磁碟分割槽格式:
1、命令:df -TH
2、檢視檔案:vi /etc/fstab
4.1. Linux的組成
核心:是系統的心臟,是執行程式和管理像磁碟和印表機等硬體裝置的核心程式。
Shell:是系統的使用者介面,提供了使用者和核心進行互動操作的一種介面。它接收使用者輸入的命令並把它送入核心去執行,是一個命令直譯器。但它不僅是命令直譯器,而且還是高階程式語言,shell程式設計。
FILE SYSTEMS(檔案系統):檔案系統是檔案存放在磁碟等儲存裝置上的組織方法,Linux支援多種檔案系統,如ext3,ext2,NFS,SMB,iso9660等
應用程式:標準的Linux作業系統都會有一套應用程式例如X-Window,Open Office等
4.2. Linux的目錄結構
1. 詳情參考《Linux各目錄及每個目錄的詳細介紹.docx》
5. 基本命令
5.1. 對開發人員的要求,這個很重要。到企業的時候,很可能你也會用到.
l 一定要了解linux的基本概念。
l 掌握最基本最常用的操作命令。
l 學會檢視命令操作的互動資訊和結果資訊
l 操作時膽大心細。
5.2. 檔案相關命令
Ifconfig 檢視網絡卡資訊
1、 cd命令
a) cd .. 切換到上一層目錄
b) cd ./ 切換到當前目錄下某個目錄
c) cd – 切換到上一個所在目錄
d) cd ../../ 切換到上上級目錄
e) cd /usr 切換到指定目錄
f) cd / 切換到使用者主目錄
2、 ls ll
a) ls –l 等於 ll 命令
3、 mdkir rmdir
a) mkdir abc 建立abc資料夾(目錄)
b) Mkdir -p abc/abcd/abcde :級聯建立目錄
c) rmdir abc 刪除abc目錄(如果abc目錄下有子目錄或者檔案不能刪除)
4、 瀏覽檔案
a) cat輸出檔案所有內容
b) more檢視更多內容,
i. 退出:按q鍵,
ii. 空格:查詢下一屏內容
c) less 用法和more類似,不同的是less可以通過PgUp、PgOn鍵來控制。
5.3. tail(很重要)
5.4. rm刪除命令
通用的刪除命令(慎用):rm –rf 任何檔案或目錄
5.5. 檔案操作 cp、mv
cp -R 目錄 目標目錄 :遞迴複製
5.6. 打包命令:tar
打tar包:tar –zcvf 壓縮資料夾名或壓縮檔名 需要壓縮的檔案(最菜濰坊)
Tar -zcvf t.tar.gz * :壓縮當前目錄下所有檔案,壓縮後文件名為t.tar.gz
解壓tar包:tar –zxvf壓縮資料夾名或壓縮檔名 (至孝濰坊)
檢視tar包內的檔案 tar -ztvf xxx.tar
5.7. grep
l 查詢符合條件的字串。
l 用法: grep [選項]... PATTERN [FILE]...
l 示例:
• grep lang anaconda-ks.cfg 在檔案中查詢lang
• grep lang anaconda-ks.cfg --color 高亮顯示
grep location nginx.conf --color -A5 -B5 查詢字串並且高亮顯示、顯示查詢到的元素的前、後5行內容。
檢視程序:
ps -ef | grep java
ps -ef | grep tomcat
5.8. 其他一些常用命令
5.9. 檔案建立、編輯
5.9.1. 進入命令
l 在Linux下一般使用vi編輯器來編輯檔案。
l vi既可以檢視檔案也可以編輯檔案。
l 三種模式:命令列、插入、底行模式。
• 切換到命令列模式:按Esc鍵;
• 切換到插入模式:按 i 、o、a鍵;
• 切換到底行模式:按 :(冒號);
l 更多詳細用法,查詢文件《Vim命令合集.docx》和《vi使用方法詳細介紹.docx》
5.9.2. 退出命令
退出: :q
不儲存退出(有變更): :q!
儲存退出: :wq
如何進入插入模式:按字母“a”即可;
如何退出插入模式:按Esc鍵即可;u
5.9.3. 查詢
1、/text 查詢text,按n健查詢下一個,按N健查詢前一個。
5.9.4. 替換
s/old/new/ 用new替換old,替換當前行的第一個匹配
s/old/new/g 用new替換old,替換當前行的所有匹配
%s/old/new/ 用new替換old,替換所有行的第一個匹配
%s/old/new/g 用new替換old,替換整個檔案的所有匹配
5.9.5. 移動
shift + g:移動到檔案尾部
5.9.6. 顯示行號
:set nu
5.10. 重定向輸出 > 和 >>
5.11. 管道 “|”
5.12. && 命令執行控制
5.13. 網路通訊命令
網絡卡資訊的檔案:
/etc/sysconfig/network-script/ifcfg-eth0
手動更改ifcfg-eth網絡卡檔案請參照《網路配置問題.doc》
重啟網絡卡的命令:
service network restart
配置主機名
1、 setup
2、 /etc/sysconfig/network
5.14. 系統管理命令一
top命令:
第一行(top):
“00:11:04”為系統當前時刻;
“3:35”為系統啟動後到現在的運作時間;
“2 users”為當前登入到系統的使用者,更確切的說是登入到使用者的終端數 -- 同一個使用者同一時間對系統多個終端的連線將被視為多個使用者連線到系統,這裡的使用者數也將表現為終端的數目;
“load average”為當前系統負載的平均值,後面的三個值分別為1分鐘前、5分鐘前、15分鐘前程序的平均數,一般的可以認為這個數值超過 CPU 數目時,CPU 將比較吃力的負載當前系統所包含的程序;
第二行(Tasks):
“59 total”為當前系統程序總數;
“1 running”為當前執行中的程序數;
“58 sleeping”為當前處於等待狀態中的程序數;
“0 stoped”為被停止的系統程序數;
“0 zombie”未被複原的程序數(殭屍程序);
第三行(Cpus):
分別表示了 CPU 當前的使用率;
“0.7% us”:使用者程序佔用CPU百分比
“0.7% sy”:核心程序佔用CPU百分比
“0.0% ni”:使用者程序空間內改變過優先順序的程序佔用CPU百分比
“98.7% id”:空閒CPU百分比
“0.0% wa”:等待輸入輸出的CPU時間百分比
“0.0% hi”:硬體中斷請求時間
“0.0% si”:軟終端請求時間
第四行(Mem):
分別表示了記憶體總量、當前使用量、空閒記憶體量、以及緩衝使用中的記憶體量;
第五行(Swap):
表示類別同第四行(Mem),但此處反映著交換分割槽(Swap)的使用情況。通常,交換分割槽(Swap)被頻繁使用的情況,將被視作實體記憶體不足而造成的。
列表部分:
PID:程序id
USER;程序所有者的使用者名稱
PR:程序的優先順序
NI:nice值。負值表示高優先順序,正值表示低優先順序
VIRT -- 程序使用的虛擬記憶體總量,單位kb。VIRT=SWAP+RES
RES -- 程序使用的、未被換出的實體記憶體大小,單位kb。RES=CODE+DATA
SHR -- 共享記憶體大小,單位kb
S -- 程序狀態。
D =不可中斷的睡眠狀態
R =執行
S =睡眠
T =跟蹤/停止
Z =殭屍程序
%CPU -- 上次更新到現在的CPU時間佔用百分比
%MEM -- 程序使用的實體記憶體 百分比
TIME+ -- 程序使用的CPU時間總計,單位1/100秒
COMMAND:啟動任務的命令列(包括引數)
5.15. 系統管理命令二
5.16. 系統管理命令三
6. 多使用者
建立組和使用者:
groupadd 組名
useradd –g 組名 使用者名稱
passwd 使用者名稱
刪除組和使用者:
userdel 使用者名稱
groupdel 組名
6.1. 新增、刪除、設定密碼
檢視所有使用者:/etc/passwd
6.2. 使用者組
檢視所有組:/etc/group
6.3. id命令
6.4. su命令
6.5. 賬戶檔案
l /etc/passwd 使用者檔案
l /etc/shadow 密碼檔案
l /etc/group 組資訊檔案
rwx(所屬使用者U) r-x(同組使用者G) r-x(其他使用者O) read 讀4 writer 寫2 execute 執行1
6.6. 檔案許可權
rwx 所屬使用者擁有的許可權 u
r-x 同組使用者 g
r-x 其他使用者 o
755 ==> 當前使用者rwx,同組使用者 r-x ,其他使用者 r-x
6.7. Linux三種檔案型別
6.8. 檔案許可權管理
7. 實戰,如果不會,請自行網上查詢,有很多的相關資料的。
7.1. 上傳
7.2. 安裝jdk
7.3. 安裝mysql
7.4. 安裝tomcat
8. 幫助命令
8.1. 關機、重啟
l 關機
• shutdown -h now(立刻關機)
• shutdown -h 5 (5分鐘後關機)
• poweroff (立刻關機)
• init 0
l 重啟
• shutdown -r now (立刻重啟)
• shutdown -r 5 (5分鐘重啟)
• reboot (立刻重啟)
8.2. 遠端登入
l 使用SecureCRT等客戶端軟體登入;
l 使用ssh登入(登入到另一個系統);
• ssh 目標機器IP
• 例如:ssh slave1
l 退出
• exit (退出當前登入)
8.3. 遠端傳輸
傳檔案
scp 檔案 其他機器的使用者名稱@其他機器的ip:路徑
傳資料夾:
scp -r 資料夾 其他機器的使用者名稱@其他機器的ip:路徑
8.4. 幫助命令
l Linux的命令非常之多,不可能都記得住使用方法;
l 使用幫助命令 --help
• shutdown --help
• ssh --help
• ifconfig --help (檢視網絡卡資訊)
l 使用man命令(命令說明書)
• man shutdown
重點:
練習(要求掌握):ls ll cd mkdir cp -R mv rm -rf tar -zcvf -zxvf vi
理解: > >> | && 555 :r-xr-xr-x chmod -R chown -R
配置檔案:
環境變數檔案 :/etc/profile
防火牆檔案 :/etc/sysconfig/iptables
網絡卡檔案 : /etc/sysconfig/network-script/ifcfg-eth