在linux系統(tǒng)中,shell是運(yùn)維和系統(tǒng)管理員常用的命令解釋器工具。
命令行相關(guān):
注意: 命令行操作時(shí)需要區(qū)分大小寫。
使用命令行和通配符可以提高輸入效率。
命令行補(bǔ)全——按Tab鍵。
通配符:
* - 用于匹配文件名中任意長度的字符串; ? - 只匹配一個(gè)字符; [] - 用于匹配所有出現(xiàn)在方括號內(nèi)的字符。可以使用短線“-”來指定字符集范圍。如:ls text[1-3] 或 ls test[a-z]
示例:
ls *1 ——>test1 ls test[123] --> test1 test2 test3
linux系統(tǒng)中常用的Shell包括bash、TCSH Shell和Z-Shell等,其中BASH是默認(rèn)安裝和使用的Shell。
man
作用: Linux為所有命令和系統(tǒng)調(diào)用編寫了幫助手冊。通過man命令可以方便地獲取某個(gè)命令的幫助信息。
用法: man [手冊編號] 命令名,手冊編號可以省略。
示例:
man 8 ping
使用JK鍵上下翻動,空格鍵向下翻頁,Q鍵退出。
手冊共分為9節(jié),各部分內(nèi)容如下:
su
作用: 切換到其他用戶。
用法:
su 用戶名 #切換到這個(gè)用戶 sudo su #切換到root用戶
注意: 在ubuntu系統(tǒng)中,默認(rèn)情況下沒有合法的root權(quán)限,不能直接使用su命令提升到root權(quán)限,而必須使用sudo來獲得root權(quán)限。
sudo
當(dāng)前命令以root身份執(zhí)行。
sudo xx
pwd
顯示當(dāng)前目錄,即工作目錄。
cd
改變當(dāng)前目錄位置。
ls
dir/vdir
mkdir
創(chuàng)建目錄。
mv
文件的移動。
mv –[OPTION] 源文件 目標(biāo)文件
可以指定移動后的名字。
mv test1.c /test/test2.c
cp
復(fù)制文件。
cp –[OPTION] 源文件 目標(biāo)文件
rm
刪除文件。
rm …[OPTION]…[FILE]…
ln
建立文件鏈接。
ln …[OPTION] 源文件 目標(biāo)文件
類似于c++中的引用,給變量起了個(gè)別名,實(shí)際上是同一個(gè)文件。
ln ./test/test1.c ln_demo
實(shí)際上創(chuàng)建的ln_demo就是test1.c。這是硬鏈接,刪除源文件后可以訪問。(只要有硬鏈接,文件就不會被釋放。直到最后一個(gè)鏈接被刪除,文件才會被釋放。)
ln -s ./test/test1.c ln_demo_s
創(chuàng)建ln_demo_s,這是軟鏈接(符號鏈接)。刪除源文件后軟鏈接文件無法訪問。
總結(jié):軟鏈接就一個(gè)文件路徑,硬鏈接就是指針。
相關(guān)參考:
軟硬鏈接
5分鐘讓你明白“軟鏈接”和“硬鏈接”的區(qū)別
chown
用于改變文件的所有權(quán)。
chown …[OPTION] [OWNER] [:[GROUP]] FILE…
每一位分別表示: 文件/目錄,xuanxuan用戶的讀,寫,執(zhí)行,同組的其他用戶的讀,寫,執(zhí)行,其他組成員的讀,寫,執(zhí)行。
chgrp
用于單獨(dú)設(shè)置文件的屬組。
chgrp …[GROUP] FILE…
chmod
改變文件權(quán)限。
chmod用于改變一個(gè)文件的權(quán)限。它以“用戶組+/-權(quán)限”的表達(dá)方式來增加/刪除對應(yīng)的權(quán)限。具體來說,用戶組包括了文件屬主(u)、文件屬組(g)、其他人(o)和所有人(a),而權(quán)限則包括讀取與執(zhí)行(r、w、x)。
chmod …[OPTION]…[FILE]…
例:
chmod u+x test.txt chmod u-x test.txt chmod ug=wr、o=r text.txt
如果以二進(jìn)制表示權(quán)限,設(shè)置為1,沒設(shè)置為0,最高權(quán)限就是777。
所以也可以這樣改權(quán)限。
chmod 777
head/tail
閱讀文件的頭部和尾部。
head/tail …[OPTION]…FILE
cat、more、less
cat命令用來一次性查看全部文本內(nèi)容,后跟文件名作為參數(shù),也可以帶上-n來顯示每行的行號。如果文件長達(dá)幾十上百頁,不建議使用cat。
more命令用來分頁查看文本文件。空格翻頁;回車向下滾動一行;Q鍵退出。
less與more類似,功能更加人性化。
vim是unix和Linux上標(biāo)配的編輯器,功能十分強(qiáng)大。
vim xxx
插入模式
輸入字符,并可以按光標(biāo)鍵移動輸入字符位置。
命令模式
執(zhí)行除輸入字符之外的所有操作,包括保存、搜索、移動光標(biāo)等。
vim啟動默認(rèn)是在命令模式,如果在編輯模式,需要按Esc切換回命令模式。
可以使用光標(biāo)鍵控制上下左右,或者或者h(yuǎn)、j、k、l移動。
搜索字符串
替換字符串
%s/123/321/g #將123替換為321,g是整個(gè)一行中滿足條件的,%s是全文。
刪除、復(fù)制、粘貼
撤銷和重做
其他
syntax on ## 語法高亮 set autoindent ## 自動縮進(jìn) set shiftwidth=4 ## 設(shè)置Tab 鍵對應(yīng)的空格數(shù)
find
在指定范圍內(nèi)迅速查找到文件。
find [OPTION] [path…] [expression]
locate
快速定位文件位置。
locate [expression] pattren
locate并不進(jìn)入子目錄進(jìn)行搜索,它通過檢索數(shù)據(jù)庫來確定文件的位置。可以使用updatedb來更新檢索數(shù)據(jù)庫。
grep
在文件中尋找某些信息。
grep [OPTIONS] PATTERN [FILE…] #pattern使用基礎(chǔ)正則表達(dá)式
grep 111 ./test.c #在test.c文件中查找111