0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Shell的18條常用命令整理資料合集

馬哥Linux運(yùn)維 ? 來(lái)源:未知 ? 2018-12-15 09:24 ? 次閱讀

1、ls:類似于dos下的dir命令

ls最常用的參數(shù)有三個(gè):-a -l -F。

ls –a

Linux上的文件以.開(kāi)頭的文件被系統(tǒng)視為隱藏文件,僅用ls命令是看不到他們的,而用ls -a除了顯示一般文件名外,連隱藏文件也會(huì)顯示出來(lái)。

ls –l

該參數(shù)顯示更詳細(xì)的文件信息。

ls –F

使用這個(gè)參數(shù)表示在文件的后面多添加表示文件類型的符號(hào),例如*表示可執(zhí)行,/表示目錄,@表示連結(jié)文件,這都是因?yàn)槭褂昧?F這個(gè)參數(shù)。但是現(xiàn)在基本上所有的Linux發(fā)行版本的ls都已經(jīng)內(nèi)建了-F參數(shù),也就是說(shuō),不用輸入這個(gè)參數(shù),我們也能看到各種分辨符號(hào)。

2、cd:用于切換用戶當(dāng)前工作目錄

cd aaa進(jìn)入aaa目錄

cd命令后不指定目錄,會(huì)切換到當(dāng)前用戶的home目錄

cd ~作用同cd后不指定目錄,切換到當(dāng)前用戶的home目錄

cd -命令后跟一個(gè)減號(hào),則會(huì)退回到切換前的目錄

cd ..返回到當(dāng)前目錄下的上一級(jí)目錄

3、pwd:用于顯示用戶當(dāng)前工作目錄

4、mkdir和rmdir

midir:創(chuàng)建目錄rmdir:刪除目錄

兩個(gè)命令都支持-p參數(shù),對(duì)于mkdir命令若指定路徑的父目錄不存在則一并創(chuàng)建,對(duì)于rmdir命令則刪除指定路徑的所有層次目錄,如果文件夾里有內(nèi)容,則不能用rmdir命令

如下:

mkdir -p 1/2/3

rmdir -p 1/2/3

5、cp:復(fù)制命令

復(fù)制一個(gè)文件到另一目錄:cp 1.txt ../test2

復(fù)制一個(gè)文件到本目錄并改名:cp 1.txt 2.txt

復(fù)制一個(gè)文件夾a并改名為b:cp -r a b

6、mv:移動(dòng)命令

將一個(gè)文件移動(dòng)到另一個(gè)目錄:mv 1.txt ../test1

將一個(gè)文件在本目錄改名:mv 1.txt 2.txt

將一個(gè)文件一定到另一個(gè)目錄并改名:mv 1.txt ../test1/2.txt

7、rm命令

rm命令用于刪除文件,與dos下的del/erase命令相似,rm命令常用的參數(shù)有三個(gè):-i,-r,-f。

–i:系統(tǒng)在刪除文件之前會(huì)先詢問(wèn)確認(rèn),用戶回車之后,文件才會(huì)真的被刪除。需要注意,linux下刪除的文件是不能恢復(fù)的,刪除之前一定要謹(jǐn)慎確認(rèn)。

–r:該參數(shù)支持目錄刪除,功能和rmdir命令相似。

–f:和-i參數(shù)相反,-f表示強(qiáng)制刪除

8、du、df命令

du命令可以顯示目前的目錄所占用的磁盤空間,df命令可以顯示目前磁盤剩余空間。

如果du命令不加任何參數(shù),那么返回的是整個(gè)磁盤的使用情況,如果后面加了目錄的話,就是這個(gè)目錄在磁盤上的使用情況。

du -hs指定目錄查看指定目錄的總大小

du -hs ./*查看當(dāng)前目錄下的所有文件夾和文件的大小

這兩個(gè)命令都支持-k,-m和-h參數(shù),-k和-m類似,都表示顯示單位,一個(gè)是k字節(jié)一個(gè)是兆字節(jié),-h則表示human-readable,即友好可讀的顯示方式。

9、cat命令

cat命令的功能是顯示或連結(jié)一般的ascii文本文件。cat是concatenate的簡(jiǎn)寫,類似于dos下面的type命令。用法如下:

cat file1顯示file1文件內(nèi)容

cat file1 file2依次顯示file1,file2的內(nèi)容

cat file1 file2 > file3把file1, file2的內(nèi)容結(jié)合起來(lái),再“重定向(>)”到file3文件中。

">"是右重定向符,表示將左邊命令結(jié)果當(dāng)成右邊命令的輸入,注意:如果右側(cè)文件是一個(gè)已存在文件,其原有內(nèi)容將會(huì)被清空,而變成左側(cè)命令輸出內(nèi)容。如果希望以追加方式寫入,請(qǐng)改用">>"重定向符。

如果">"左邊沒(méi)有指定文件,如:cat >file1,將會(huì)等用戶輸入,輸入完畢后再按[Ctrl]+[c]或[Ctrl]+[d],就會(huì)將用戶的輸入內(nèi)容寫入file1。

10、echo命令

echo命令的使用頻率不少于ls和cat,尤其是在shell腳本編寫中。

語(yǔ)法:echo [-ne][字符串]

功能:echo會(huì)將輸入的字符串送往標(biāo)準(zhǔn)輸出,輸出的字符串間以空白字符隔開(kāi),并在最后加上換行符。

參數(shù):

-n顯示字串時(shí)在最后自動(dòng)換行

-e支持以下格式的轉(zhuǎn)義字符,-E不支持以下格式的轉(zhuǎn)義字符

/a發(fā)出警告聲;

/b刪除前一個(gè)字符;

/c最后不加上換行符號(hào);

/f換行但光標(biāo)仍舊停留在原來(lái)的位置;

/n換行且光標(biāo)移至行首;

/r光標(biāo)移至行首,但不換行;

/t插入tab;

/v與/f相同;

//插入/字符;

/nnn插入nnn(八進(jìn)制)所代表的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

注意事項(xiàng):

在Linux使用的bash下,單引號(hào)’’和雙引號(hào)是有區(qū)別的,單引號(hào)忽略所有的轉(zhuǎn)義,雙引號(hào)不會(huì)忽略以下特殊字符:

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命令

這兩個(gè)命令用于查看文件,如果一個(gè)文件太長(zhǎng),顯示內(nèi)容超出一個(gè)屏幕,用cat命令只能看到最后的內(nèi)容,用more和less兩個(gè)命令可以分頁(yè)查看。more指令可以使超過(guò)一頁(yè)的文件內(nèi)容分頁(yè)暫停顯示,用戶按鍵后才繼續(xù)顯示下一頁(yè)。而less除了有more的功能以外,還可以用方向鍵往上或往下的滾動(dòng)文件,更方便瀏覽閱讀。

less的常用動(dòng)作命令:

回車鍵向下移動(dòng)一行;

y向上移動(dòng)一行;

空格鍵向下滾動(dòng)一屏;

b向上滾動(dòng)一屏;

d向下滾動(dòng)半屏;

h less的幫助;

u向上洋動(dòng)半屏;

w可以指定顯示哪行開(kāi)始顯示,是從指定數(shù)字的下一行顯示;比如指定的是6,那就從第7行顯示;

g跳到第一行;

G跳到最后一行;

p n%跳到n%,比如10%,也就是說(shuō)比整個(gè)文件內(nèi)容的10%處開(kāi)始顯示;

/pattern搜索pattern,比如/MAIL表示在文件中搜索MAIL單詞;

v調(diào)用vi編輯器;

q退出less

!command調(diào)用SHELL,可以運(yùn)行命令;比如!ls顯示當(dāng)前列當(dāng)前目錄下的所有文件;

nclear命令

clear命令是用來(lái)清除當(dāng)前屏幕顯示的,不需任何參數(shù),和dos下的cls命令功能相同。

12、head,tail

nhead和tail命令

都用于查看文本文件,區(qū)別在于:head顯示文件的頭n行,tail顯示文件的尾n行,缺省情況n都為10行??梢酝ㄟ^(guò)-n方式指定行數(shù),如:

head -100 file和tail -100 file分別表示顯示文件頭100行和尾100行內(nèi)容。

ntail -f命令

可以實(shí)時(shí)查看文件新增內(nèi)容。

13、wc命令

該命令用于統(tǒng)計(jì)指定文件中的字節(jié)數(shù)、字?jǐn)?shù)、行數(shù)。該命令各選項(xiàng)含義如下:

-l統(tǒng)計(jì)行數(shù)

-w統(tǒng)計(jì)字?jǐn)?shù)

-c統(tǒng)計(jì)字節(jié)數(shù)

這些選項(xiàng)可以組合使用。輸出列的順序和數(shù)目不受選項(xiàng)的順序和數(shù)目的影響。總是按下述順序顯示并且每項(xiàng)最多一列。

行數(shù)、字?jǐn)?shù)、字節(jié)數(shù)、文件名

如果命令行中沒(méi)有文件名,則輸出中不出現(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的縮寫,用于從文件面搜索包含指定模式的行并打印出來(lái),它是一種強(qiáng)大的文本搜索工具,支持使用正則表達(dá)式搜索文本。grep的工作方式是這樣的,它在一個(gè)或多個(gè)文件中搜索字符串模板。如果模板包括空格,則必須被””引用,模板后的所有字符串被看作文件名。搜索結(jié)果送到屏幕,不影響原文件內(nèi)容。

grep可用于shell腳本,因?yàn)間rep通過(guò)返回一個(gè)狀態(tài)值來(lái)說(shuō)明搜索的狀態(tài),如果模板搜索成功,則返回0,如果搜索不成功,則返回1,如果搜索的文件不存在,則返回2。我們利用這些返回值就可進(jìn)行一些自動(dòng)化的文本處理工作。

示例:

$ ls -l | grep '^a'

通過(guò)管道過(guò)濾ls -l輸出的內(nèi)容,只顯示以a開(kāi)頭的行。

$ grep 'test' d*

顯示所有以d開(kāi)頭的文件中包含test的行。

$ grep 'test' aa bb cc

顯示在aa,bb,cc文件中匹配test的行。

$ grep '[a-z]/{5/}' aa

顯示所有包含每個(gè)字符串至少有5個(gè)連續(xù)小寫字符的字符串的行。

$ grep 'w/(es/)t.*/1' aa

如果west被匹配,則es就被存儲(chǔ)到內(nèi)存中,并標(biāo)記為1,然后搜索任意個(gè)字符(.*),這些字符后面緊跟著另外一個(gè)es(/1),找到就顯示該行。如果用egrep或grep -E,就不用"/"號(hào)進(jìn)行轉(zhuǎn)義,直接寫成'w(es)t.*/1'就可以了。

15、man,logout命令

man命令

man是manual的縮寫,相當(dāng)于Unix/Linux的聯(lián)機(jī)Help,每個(gè)系統(tǒng)命令和調(diào)用都有非常詳細(xì)的說(shuō)明,絕大多數(shù)都是英文。如:man ls即是查看ls命令的使用說(shuō)明,一般還有另一種方法用來(lái)查看幫助,如:ls –help,這種方式絕大多數(shù)命令都支持。

logout命令

該命令用于退出系統(tǒng),與login命令對(duì)應(yīng)。

16、管道和xargs管道:

利用Linux所提供的管道符“|”將兩個(gè)命令隔開(kāi),管道符左邊命令的輸出就會(huì)作為管道符右邊命令的輸入。連續(xù)使用管道意味著第一個(gè)命令的輸出會(huì)作為第二個(gè)命令的輸入,第二個(gè)命令的輸出又會(huì)作為第三個(gè)命令的輸入,依此類推。

注意:管道左邊命令的輸入作為管道右邊命令的輸入(命令的輸入是一定的),不是參數(shù),并不是所有命令都支持管道

例子:ls | grep a查看當(dāng)前目錄下名稱包含a的文件或文件夾

xargs:

大多數(shù)Linux命令都會(huì)產(chǎn)生輸出:文件列表、字符串列表等。但如果要使用其他某個(gè)命令并將前一個(gè)命令的輸出作為參數(shù)該怎么辦?例如,file命令顯示文件類型(可執(zhí)行文件、ascii文本等);你能處理輸出,使其僅顯示文件名,目前你希望將這些名稱傳遞給ls -l命令以查看時(shí)間戳記。xargs命令就是用來(lái)完成此項(xiàng)工作的。

注意:find命令把匹配到的文件傳遞給xargs命令,而xargs命令每次只獲取一部分文件而不是全部,不像-exec選項(xiàng)那樣。這樣它可以先處理最先獲取的一部分文件,然后是下一批,并如此繼續(xù)下去

例子:

1、在整個(gè)系統(tǒng)中查找內(nèi)存信息轉(zhuǎn)儲(chǔ)文件(core dump),然后把結(jié)果保存到/tmp/core.log文件中:

$ find / -name "core" -print | xargs echo "" >/tmp/core.log

2、當(dāng)一個(gè)目錄下文件太多時(shí),直接用rm *命令會(huì)包參數(shù)過(guò)長(zhǎng),用如下方法可以全部刪除

$ls | xargs rm

17、basename和dirname

basename用于查看文件不含路徑的名字,dirname則用于查看文件路徑,使用效果我們測(cè)試一下便知:

> 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的全部變量

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11123

    瀏覽量

    207912
  • cat
    cat
    +關(guān)注

    關(guān)注

    1

    文章

    72

    瀏覽量

    21208
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    359

    瀏覽量

    23192

原文標(biāo)題:Shell的18條常用命令整理

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux的常用命令整理

    Linux 常用命令整理
    發(fā)表于 05-27 11:27

    windowsxp常用命令

    windowsxp常用命令   winver---------檢查windows版本 wmimgmt.msc----打開(kāi)windows管理體系結(jié)構(gòu)(wmi) wupdmgr-------
    發(fā)表于 01-10 09:05 ?1239次閱讀

    Ubuntu常用命令大全

    Ubuntu常用命令大全,包括常用管理目錄,系統(tǒng)命令,硬盤相關(guān),內(nèi)存相關(guān),查看進(jìn)程等命令
    發(fā)表于 01-06 11:16 ?0次下載

    DOS常用命令寶典

    DOS常用命令寶典,感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 11-10 18:24 ?0次下載

    04-shell常用命令匯總與vim

    shell常用命令匯總
    發(fā)表于 12-17 16:04 ?0次下載

    vim常用命令

    vim常用命令
    發(fā)表于 01-08 15:59 ?3次下載

    redis常用命令總結(jié)

    本文是對(duì)redis常用命令總結(jié)。
    發(fā)表于 02-09 11:25 ?1542次閱讀

    Linux常用命令的全拼整理

    本文整理常用命令的全拼,好像混進(jìn)了什么奇怪的東西。
    的頭像 發(fā)表于 10-10 17:19 ?4573次閱讀

    MATLAB的常用命令合集詳細(xì)資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是MATLAB的常用命令合集詳細(xì)資料免費(fèi)下載,匯集MATLAB命令,快速查詢MATLAB命令含義,適合初學(xué)者。
    發(fā)表于 11-09 08:00 ?16次下載
    MATLAB的<b class='flag-5'>常用命令</b><b class='flag-5'>合集</b>詳細(xì)<b class='flag-5'>資料</b>免費(fèi)下載

    linux常用命令手冊(cè)

    linux常用命令手冊(cè)免費(fèi)下載。
    發(fā)表于 06-01 14:59 ?63次下載

    Memcache系統(tǒng)常用命令講解

    Memcache系統(tǒng)常用命令講解(無(wú)線電源技術(shù)商業(yè)計(jì)劃書)-該文檔為Memcache系統(tǒng)常用命令講解文檔,是一份還算不錯(cuò)的參考文檔,感興趣的可以下載看看,,,,,,,,,,,,,,,,
    發(fā)表于 09-28 11:27 ?5次下載
    Memcache系統(tǒng)<b class='flag-5'>常用命令</b>講解

    linux常用命令大全

    linux常用命令大全,一些常用命令都可以找到
    發(fā)表于 03-03 09:20 ?0次下載

    DOS系統(tǒng)常用命令

    介紹了DOS系統(tǒng)的常用命令。
    發(fā)表于 03-21 14:59 ?0次下載

    Linux常用命令

    Linux常用命令
    的頭像 發(fā)表于 01-12 11:19 ?1036次閱讀

    Linux常用命令手冊(cè)分享

    linux常用命令合集
    發(fā)表于 04-26 11:46 ?1次下載