Linux的命令后面會有命令選項,有的選項還有選項值。選項的前面有短橫線“-”,命令、選項、選項值之間使用空格隔開。有的命令沒有選項,會有參數。選項是命令內置的功能,參數是用戶提供的符合命令格式的內容。
1.1.1. 命令提示符
在桌面上點擊鼠標右鍵,在彈出菜單中選擇“Open in Terminal”,
系統會打開終端,類似於Windows下的命令行。Windows的命令行是dos環境,Linux下的命令行是shell環境。我們的所有命令都是在shell下運行的,后面所有章節的命令也是在shell下執行的。
用戶剛打開終端時,顯示如下的提示符,我們要注意的是中括號里面的內容。
提示符通過符號“@”分為兩部分,前面的“root”是當前登錄用戶。如果你使用itcast登錄,那么這里會顯示“[itcast@localhost Desktop]”。后面的“localhost Desktop”,被空格分為兩部分,前面的“localhost”表示主機名稱,是本機的唯一標識;如果我們修改了主機名稱,那么該值就會變化;后面的“Desktop”表示shell顯示的當前路徑。中括號后面的“#”是提示shell類型,我們只關注黑色的光標在哪里就行了。
1.1.2. 路徑操作
* 路徑描述符
在Linux中,路徑是通過斜線“/”划分的。在一個使用“/”划分的長路徑中,開頭的如果是“/”,這個斜線是特殊的,稱作根路徑。根路徑使用“/”表示,在路徑的開始位置,類似於Windows的“我的電腦”;點號“.”表示當前路徑,無論你在哪個位置,點號都表示當前所在的路徑;兩個點“..”表示上級路徑;波浪形“~”表示用戶主目錄,如果使用root用戶登錄,那么“~”表示/root;如果使用用戶itcast登錄,那么“~”表示/home/itcast。
* 路徑跳轉命令cd
格式:cd 目標路徑
執行“cd ..”是從當前路徑跳到上級路徑。
執行“cd /usr/local”是跳轉到根路徑下的usr路徑下的local路徑。
1.1.3. 目錄和文件操作
目錄就是我們看到的文件夾,常見操作包括創建、刪除、移動、復制、重命名、查找、查看、修改權限等。
* 查看命令ls
格式:ls 路徑
命令“cd ~”表示跳轉到root用戶主目錄。
通過“pwd”查看路徑位置。
執行命令“ls”顯示當前用戶主目錄下有哪些文件和文件夾。在RHEL中,藍色字體顯示的是文件夾,黑色字體顯示的是文件,一共有11個文件(夾)。
執行命令“ls -a”顯示的內容比前面的命令顯示了更多,包括“.”開頭的各種文件夾。在Linux中,“.”開頭的文件(夾)表示隱藏文件,僅使用命令“ls”是看不到的,選項“-a”的作用是顯示所有文件(夾),包含隱藏的。
選項“-l”表示以列表形式顯示。
執行命令“ls -al”,顯示的文件(夾)數量與前面的命令相同,只是排列方式不一樣,每一個文件(夾)顯示的內容更加全面。這里“-al”是參數“-a”和“-l”的簡寫。
注意:命令與選項之間使用空格區分,幾個空格無所謂,只要有使用空格區分即可。
* 創建目錄命令mkdir
格式:mkdir 目錄名稱
使用命令“mkdir –p”可以遞歸創建父目錄,也就是說父目錄不存在,會先創建父目錄,再創建自身目錄。在當前環境下,請讀者分別執行“mkdir d1/d2/d3/d4”和“mkdir d1/d2/d3/d4”。
* 刪除目錄命令rmdir
格式:rmdir 待刪除的目錄
緊接着上面的步驟,執行以下命令
可以看到test目錄被刪除了。
注意:命令rmdir只能刪除目錄,並且是空目錄。如果目錄中含有文件(夾),該命令執行會失敗,應該使用rm命令了。
* 最強大的刪除命令rm
格式:rm 待刪除的目錄或文件
rm不僅可以刪除文件,也可以刪除目錄,即使目錄不空。
使用命令“rm -r”刪除test,會出現各種提示,只要不斷的輸入“y”,按回車。最后成功刪除了。可見命令rm可以遞歸刪除目錄。如果要避免繁瑣的提示信息,使用命令“rm -rf”,請讀者自己測試。
注意:命令“rm -rf”在遞歸刪除的時候沒有任何提示,所以一定要小心誤刪文件。
* 創建空白文件命令touch
格式:touch 文件名
該命令請讀者自行測試,不再演示。
* 編輯文件vi
vi命令非常復雜,會占用太多篇幅,此處略過,請讀者自行查詢相關資料。
* 移動文件(夾)命令mv
格式:mv 源文件(夾) 目標路徑
移動文件(夾)時,命令后面需要跟兩個參數,第一個是源文件(夾)路徑,第二個是目標路徑。文件(夾)會從原路徑移動到新的路徑,原路徑下不再存在了。
該命令與移動命令相同,如果第二個參數是目錄,就是移動操作;如果第二個參數是文件,就是重命名操作。
* 復制文件(夾)命令cp
格式:cp 源文件(夾) 目標路徑
復制文件(夾)時也跟兩個參數,第一個是源,第二個表示目的地。
命令“cp -r”可以遞歸復制,也就是把源文件夾里面的所有內容一起復制到目的地。如果目的地存在相同名稱的文件(夾),會提示覆蓋。
注意:當復制文件並且目的地文件不存在的時候,復制操作有創建文件的作用了。
* 查看文件內容命令cat
格式:cat 文件名
該命令請讀者自行測試,不再演示。
* 查看文件內容命令more
格式:more 文件名
請讀者自行測試該命令,不再演示。與cat的區別是,當文件內容很多,一屏幕顯示不下時,cat會滾屏到文件最后,more顯示一屏后停止,用戶按空格鍵,繼續滾到下一屏。簡單點說,more是分屏顯示內容。
* 命令的百科全書man
格式:man 命令名稱
命令man是Linux的幫助系統,對於任何命令都可以在man中查到。用法是“man 某個命令”。如果顯示幫助內容太多了,會分屏,如果你想退出,請按“q”鍵。
* 修改權限命令chmod
當我們執行命令“ls -l”時,會看到以下輸出
現在講述每一行輸出的前10位字符含義。
第一位字符表示文件類型,如果是“d”,表明是文件夾,如果是“-”,表示是普通文件。可以看到“file1”是文件,“test1”是文件夾。
后面的九位字符,表示文件(夾)的權限。把九位字符按照三個一組,划分為三個組。其中,第一組表示文件的用戶,用u表示(可以理解為文件的所有人,英文是user)的權限,第二組表示文件的所有者所在組,用g表示(英文是group)的權限,第三組表示除此之外的其他人,用o表示(英文是other)的權限。
每一組都包括三位字符。其中,第一位字符表示讀權限,用r表示(英文是read),第二位字符表示寫權限,用w表示(英文是write),第三位字符表示執行權限,用x表示(英文是execute)。如果擁有該權限,對應位置的字符就使用該字符,如果沒有改權限,就使用“-”表示。
命令格式是“chmod [權限模式] 文件”,表示對某文件執行權限模式。
以下舉例說明
解釋一下:
命令“chmod u+x file1”表示對用戶增加執行權限;
命令“chmod o+wx file1”表示:對其他人增加寫、執行權限;
命令“chmod a-r file1”表示:對所有人去掉讀權限。
另外,每組的三位權限符號也可以使用數字表示,“r、w、x”對應的數字分別是“4、2、1”。如果一個用戶對應的權限位是“rw-”,用數字表示就是6(即6=4+2),看以下示例:
使用數字表達權限更加簡潔,以后我們經常會說某個文件有755、644權限,讀者應該明白用戶、組、其他人分別是什么權限。
1.1.4. 網絡相關
* 主機名命令hostname
格式:hostname
該命令可以查看主機名。
如果使用命令“hostname 新主機名”,意味着修改主機名,但只對本次會話有效,重啟機器后失效。
* 查看ip命令ifconfig
格式:ifconfig
可以查看所有網卡的配置信息。命令“ifconfig eth0”只查看指定網卡的配置信息;
l 服務管理命令service
命令“service”用戶管理Linux的各種服務,操作包括四種類型start、stop、restart、status。前三種含義非常清晰,第四種表示查看服務當前運行狀態。
如命令“service network restart”表示重啟網卡設置。
1.1.5. 系統相關
* 修改密碼passwd
格式:passwd 用戶名
該命令的作用是修改密碼。
l 別名命令alias
格式:alias 別名=“新的命令定義”
該命令的作用是給一個長命令起一個短名字,方便記憶和使用。例如:
* 解壓縮命令tar
命令tar可以壓縮也可以解壓縮。我們關注解壓縮。
我們常見的壓縮格式是“*.tar”,指的是使用tar工具打包。更常見的是“*.tar.gz”,指的是使用tar工具打包並且壓縮成“gz”格式。
常見的操作命令是“tar -xzvf [文件.tar.gz]”。現在解釋一下這幾個參數:
參數x表示解壓操作;
參數z表示使用gzip解壓文件;
參數v表示解壓過程中顯示文件詳情;
參數f表示指定文件名,空格之后是一個文件名;
* 查看文件大小命令du
格式:du 文件(夾)
該命令是查看文件大小。常用方式“du -hs [文件(夾)]”
* 查看磁盤容量命令df
格式:df
查看磁盤容量,常用命令“df -h”
* 查看進程命令ps
格式:ps
查看進程使用命令“ps”,加上參數“-ef”,查看當前活動的進程。
在顯示內容中,我們關系PID和CMD兩項,前者表示進程號,后者表示進程名稱。
* 結束進程命令kill
格式:kill 進程號
kill命令用來結束進程,我們一般都是強制結束某個進程,命令格式“kill -9 進程號”。這里的進程號,就是命令ps看到的PID。
讀者可以結束CMD是“bash”的進程,試試結果如何。
* 管道
管道用符號“|”,左右兩邊都是命令。表示左邊命令的輸出作為右邊命令的輸入。如下命令:
解釋一下:
命令“cat /etc/sysconfig/network”表示查看文件內容;
命令“wc -l”表示統計文件行數;
這兩個命令使用管道連接到一起,表示命令“cat”的輸出作為命令“wc”的輸入,顯示2行。
* 重定向
shell的命令默認輸入信息是來自於命令行的,默認輸出信息也是到命令行的。如果輸入不是來自命令行、輸出不是到命令行,那就需要重定向。
重定向使用“>>”或者“>”表示。前者表示追加,后者表示覆蓋。
使用命令“cat file1 >> file2”可以把file1的文件內容追加到file2的內容后面。注意命令中“>>”的使用,如果改為“>”,則是覆蓋操作,並且沒有任何提示。
注意:Linux的命令,還有很多,上面的命令只是最常用命令中的一部分。即使上面講到的命令的用法,也是很少一部分,這些命令和功能是學習本書必備的,更多命令和功能請問百度或者使用強大命令“man”。