1、ls:類似于dos下的dir命令
ls最常用的參數(shù)有三個:-a -l -F。
ls –a
Linux上的文件以.開頭的文件被系統(tǒng)視為隱藏文件,僅用ls命令是看不到他們的,而用ls -a除了顯示一般文件名外,連隱藏文件也會顯示出來。
ls –l
該參數(shù)顯示更詳細(xì)的文件信息。
ls –F
使用這個參數(shù)表示在文件的后面多添加表示文件類型的符號,例如*表示可執(zhí)行,/表示目錄,@表示連結(jié)文件,這都是因為使用了-F這個參數(shù)。但是現(xiàn)在基本上所有的Linux發(fā)行版本的ls都已經(jīng)內(nèi)建了-F參數(shù),也就是說,不用輸入這個參數(shù),我們也能看到各種分辨符號。
2、cd:用于切換用戶當(dāng)前工作目錄
cd aaa進入aaa目錄
cd命令后不指定目錄,會切換到當(dāng)前用戶的home目錄
cd ~作用同cd后不指定目錄,切換到當(dāng)前用戶的home目錄
cd -命令后跟一個減號,則會退回到切換前的目錄
cd ..返回到當(dāng)前目錄下的上一級目錄
3、pwd:用于顯示用戶當(dāng)前工作目錄
4、mkdir和rmdir
midir:創(chuàng)建目錄rmdir:刪除目錄
兩個命令都支持-p參數(shù),對于mkdir命令若指定路徑的父目錄不存在則一并創(chuàng)建,對于rmdir命令則刪除指定路徑的所有層次目錄,如果文件夾里有內(nèi)容,則不能用rmdir命令
如下:
mkdir -p 1/2/3
rmdir -p 1/2/3
5、cp:復(fù)制命令
復(fù)制一個文件到另一目錄:cp 1.txt ../test2
復(fù)制一個文件到本目錄并改名:cp 1.txt 2.txt
復(fù)制一個文件夾a并改名為b:cp -r a b
6、mv:移動命令
將一個文件移動到另一個目錄:mv 1.txt ../test1
將一個文件在本目錄改名:mv 1.txt 2.txt
將一個文件一定到另一個目錄并改名:mv 1.txt ../test1/2.txt
7、rm命令
rm命令用于刪除文件,與dos下的del/erase命令相似,rm命令常用的參數(shù)有三個:-i,-r,-f。
–i:系統(tǒng)在刪除文件之前會先詢問確認(rèn),用戶回車之后,文件才會真的被刪除。需要注意,linux下刪除的文件是不能恢復(fù)的,刪除之前一定要謹(jǐn)慎確認(rèn)。
–r:該參數(shù)支持目錄刪除,功能和rmdir命令相似。
–f:和-i參數(shù)相反,-f表示強制刪除
8、du、df命令
du命令可以顯示目前的目錄所占用的磁盤空間,df命令可以顯示目前磁盤剩余空間。
如果du命令不加任何參數(shù),那么返回的是整個磁盤的使用情況,如果后面加了目錄的話,就是這個目錄在磁盤上的使用情況。
du -hs指定目錄查看指定目錄的總大小
du -hs ./*查看當(dāng)前目錄下的所有文件夾和文件的大小
這兩個命令都支持-k,-m和-h參數(shù),-k和-m類似,都表示顯示單位,一個是k字節(jié)一個是兆字節(jié),-h則表示human-readable,即友好可讀的顯示方式。
9、cat命令
cat命令的功能是顯示或連結(jié)一般的ascii文本文件。cat是concatenate的簡寫,類似于dos下面的type命令。用法如下:
cat file1顯示file1文件內(nèi)容
cat file1 file2依次顯示file1,file2的內(nèi)容
cat file1 file2 > file3把file1, file2的內(nèi)容結(jié)合起來,再“重定向(>)”到file3文件中。
">"是右重定向符,表示將左邊命令結(jié)果當(dāng)成右邊命令的輸入,注意:如果右側(cè)文件是一個已存在文件,其原有內(nèi)容將會被清空,而變成左側(cè)命令輸出內(nèi)容。如果希望以追加方式寫入,請改用">>"重定向符。
如果">"左邊沒有指定文件,如:cat >file1,將會等用戶輸入,輸入完畢后再按[Ctrl]+[c]或[Ctrl]+[d],就會將用戶的輸入內(nèi)容寫入file1。
10、echo命令
echo命令的使用頻率不少于ls和cat,尤其是在shell腳本編寫中。
語法:echo [-ne][字符串]
功能:echo會將輸入的字符串送往標(biāo)準(zhǔn)輸出,輸出的字符串間以空白字符隔開,并在最后加上換行符。
參數(shù):
-n顯示字串時在最后自動換行
-e支持以下格式的轉(zhuǎn)義字符,-E不支持以下格式的轉(zhuǎn)義字符
/a發(fā)出警告聲;
/b刪除前一個字符;
/c最后不加上換行符號;
/f換行但光標(biāo)仍舊停留在原來的位置;
/n換行且光標(biāo)移至行首;
/r光標(biāo)移至行首,但不換行;
/t插入tab;
/v與/f相同;
//插入/字符;
/nnn插入nnn(八進制)所代表的ASCII字符;
示例:
Oracle@hjtest:~/hgd> echo "123" "456"
123 456
oracle@hjtest:~/hgd> echo "123/n456"
123/n456
oracle@hjtest:~/hgd> echo -e "123/n456"
123
456
oracle@hjtest:~/hgd> echo -E "123/n456"
123/n456
oracle@hjtest:~/hgd> echo -E "123///456"
123//456
oracle@hjtest:~/hgd> echo -e "123///456"
123/456
oracle@hjtest:~/hgd> echo -e "123/100456"
123@456
注意事項:
在Linux使用的bash下,單引號’’和雙引號是有區(qū)別的,單引號忽略所有的轉(zhuǎn)義,雙引號不會忽略以下特殊字符:
Dollar signs ($),Back quotes (`),Backslashes (/),Excalmatory mark(!)
示例如下:
oracle@hjtest:~> echo "`TEST`"
-bash: TEST: command not found
oracle@hjtest:~> echo '`TEST`'
`TEST`
oracle@hjtest:~> echo "$TEST"
oracle@hjtest:~> echo '$TEST'
$TEST
oracle@hjtest:~> echo "http://TEST"
/TEST
oracle@hjtest:~> echo '//TEST'
//TEST
oracle@hjtest:~> echo "Hello!"
echo "Hello"
Hello
oracle@hjtest:~> echo 'Hello!'
Hello!
11、more,less,clear
nmore,less命令
這兩個命令用于查看文件,如果一個文件太長,顯示內(nèi)容超出一個屏幕,用cat命令只能看到最后的內(nèi)容,用more和less兩個命令可以分頁查看。more指令可以使超過一頁的文件內(nèi)容分頁暫停顯示,用戶按鍵后才繼續(xù)顯示下一頁。而less除了有more的功能以外,還可以用方向鍵往上或往下的滾動文件,更方便瀏覽閱讀。
less的常用動作命令:
回車鍵向下移動一行;
y向上移動一行;
空格鍵向下滾動一屏;
b向上滾動一屏;
d向下滾動半屏;
h less的幫助;
u向上洋動半屏;
w可以指定顯示哪行開始顯示,是從指定數(shù)字的下一行顯示;比如指定的是6,那就從第7行顯示;
g跳到第一行;
G跳到最后一行;
p n%跳到n%,比如10%,也就是說比整個文件內(nèi)容的10%處開始顯示;
/pattern搜索pattern,比如/MAIL表示在文件中搜索MAIL單詞;
v調(diào)用vi編輯器;
q退出less
!command調(diào)用SHELL,可以運行命令;比如!ls顯示當(dāng)前列當(dāng)前目錄下的所有文件;
nclear命令
clear命令是用來清除當(dāng)前屏幕顯示的,不需任何參數(shù),和dos下的cls命令功能相同。
12、head,tail
nhead和tail命令
都用于查看文本文件,區(qū)別在于:head顯示文件的頭n行,tail顯示文件的尾n行,缺省情況n都為10行??梢酝ㄟ^-n方式指定行數(shù),如:
head -100 file和tail -100 file分別表示顯示文件頭100行和尾100行內(nèi)容。
ntail -f命令
可以實時查看文件新增內(nèi)容。
13、wc命令
該命令用于統(tǒng)計指定文件中的字節(jié)數(shù)、字?jǐn)?shù)、行數(shù)。該命令各選項含義如下:
-l統(tǒng)計行數(shù)
-w統(tǒng)計字?jǐn)?shù)
-c統(tǒng)計字節(jié)數(shù)
這些選項可以組合使用。輸出列的順序和數(shù)目不受選項的順序和數(shù)目的影響??偸前聪率鲰樞蝻@示并且每項最多一列。
行數(shù)、字?jǐn)?shù)、字節(jié)數(shù)、文件名
如果命令行中沒有文件名,則輸出中不出現(xiàn)文件名。
例如:
oracle@hjtest:~> wc 1.txt 2.txt
4601679 16353 1.txt
3001095 10665 2.txt
7602774 27018總用量
oracle@hjtest:~> wc -l 1.txt
460 1.txt
缺省參數(shù)為-lcw,即wc file1 file2命令的執(zhí)行結(jié)果與上面一樣。
14、grep命令
grep是(global search regular expression(RE) and print out the line的縮寫,用于從文件面搜索包含指定模式的行并打印出來,它是一種強大的文本搜索工具,支持使用正則表達(dá)式搜索文本。grep的工作方式是這樣的,它在一個或多個文件中搜索字符串模板。如果模板包括空格,則必須被””引用,模板后的所有字符串被看作文件名。搜索結(jié)果送到屏幕,不影響原文件內(nèi)容。
grep可用于shell腳本,因為grep通過返回一個狀態(tài)值來說明搜索的狀態(tài),如果模板搜索成功,則返回0,如果搜索不成功,則返回1,如果搜索的文件不存在,則返回2。我們利用這些返回值就可進行一些自動化的文本處理工作。
示例:
$ ls -l | grep '^a'
通過管道過濾ls -l輸出的內(nèi)容,只顯示以a開頭的行。
$ grep 'test' d*
顯示所有以d開頭的文件中包含test的行。
$ grep 'test' aa bb cc
顯示在aa,bb,cc文件中匹配test的行。
$ grep '[a-z]/{5/}' aa
顯示所有包含每個字符串至少有5個連續(xù)小寫字符的字符串的行。
$ grep 'w/(es/)t.*/1' aa
如果west被匹配,則es就被存儲到內(nèi)存中,并標(biāo)記為1,然后搜索任意個字符(.*),這些字符后面緊跟著另外一個es(/1),找到就顯示該行。如果用egrep或grep -E,就不用"/"號進行轉(zhuǎn)義,直接寫成'w(es)t.*/1'就可以了。
15、man,logout命令
man命令
man是manual的縮寫,相當(dāng)于Unix/Linux的聯(lián)機Help,每個系統(tǒng)命令和調(diào)用都有非常詳細(xì)的說明,絕大多數(shù)都是英文。如:man ls即是查看ls命令的使用說明,一般還有另一種方法用來查看幫助,如:ls –help,這種方式絕大多數(shù)命令都支持。
logout命令
該命令用于退出系統(tǒng),與login命令對應(yīng)。
16、管道和xargs管道:
利用Linux所提供的管道符“|”將兩個命令隔開,管道符左邊命令的輸出就會作為管道符右邊命令的輸入。連續(xù)使用管道意味著第一個命令的輸出會作為第二個命令的輸入,第二個命令的輸出又會作為第三個命令的輸入,依此類推。
注意:管道左邊命令的輸入作為管道右邊命令的輸入(命令的輸入是一定的),不是參數(shù),并不是所有命令都支持管道
例子:ls | grep a查看當(dāng)前目錄下名稱包含a的文件或文件夾
xargs:
大多數(shù)Linux命令都會產(chǎn)生輸出:文件列表、字符串列表等。但如果要使用其他某個命令并將前一個命令的輸出作為參數(shù)該怎么辦?例如,file命令顯示文件類型(可執(zhí)行文件、ascii文本等);你能處理輸出,使其僅顯示文件名,目前你希望將這些名稱傳遞給ls -l命令以查看時間戳記。xargs命令就是用來完成此項工作的。
注意:find命令把匹配到的文件傳遞給xargs命令,而xargs命令每次只獲取一部分文件而不是全部,不像-exec選項那樣。這樣它可以先處理最先獲取的一部分文件,然后是下一批,并如此繼續(xù)下去
例子:
1、在整個系統(tǒng)中查找內(nèi)存信息轉(zhuǎn)儲文件(core dump),然后把結(jié)果保存到/tmp/core.log文件中:
$ find / -name "core" -print | xargs echo "" >/tmp/core.log
2、當(dāng)一個目錄下文件太多時,直接用rm *命令會包參數(shù)過長,用如下方法可以全部刪除
$ls | xargs rm
17、basename和dirname
basename用于查看文件不含路徑的名字,dirname則用于查看文件路徑,使用效果我們測試一下便知:
> basename /home/hj/1.txt
1.txt
> dirname/home/hj/1.txt
/home/hj
> basename 1.txt
1.txt
> dirname 1.txt
.
18、不帶任何參數(shù)的set命令將顯示shell的全部變量
-
Linux
+關(guān)注
關(guān)注
87文章
11292瀏覽量
209328 -
cat
+關(guān)注
關(guān)注
1文章
75瀏覽量
21278 -
Shell
+關(guān)注
關(guān)注
1文章
365瀏覽量
23356
原文標(biāo)題:Shell的18條常用命令整理
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論