命令18條軍規操練大法

一、   ls: 相似於dos下的dir命令linux

ls最經常使用的參數有三個: -a -l -F。正則表達式


ls –ashell

Linux上的文件以.開頭的文件被系統視爲隱藏文件,僅用ls命令是看不到他們的,而用ls -a除了顯示通常文件名外,連隱藏文件也會顯示出來。
express


ls –lbash

該參數顯示更詳細的文件信息。oracle


ls –Fless

使用這個參數表示在文件的後面多添加表示文件類型的符號,例如*表示可執行,/表示目錄,@表示連結文件,這都是由於使用了-F這個參數。可是如今基本上全部的Linux發行版本的ls都已經內建了-F參數,也就是說,不用輸入這個參數,咱們也能看到各類分辨符號。編輯器

 

二、cd: 用於切換用戶當前工做目錄ide

cd aaa 進入aaa目錄工具

cd    命令後不指定目錄,會切換到當前用戶的home 目錄

cd ~   做用同cd後不指定目錄,切換到當前用戶的home 目錄

cd -   命令後跟一個減號,則會退回到切換前的目錄

cd ..   返回到當前目錄下的上一級目錄

 

三、pwd:用於顯示用戶當前工做目錄

 

四、mkdir 和 rmdir

midir:建立目錄     rmdir:刪除目錄

兩個命令都支持-p參數,對於mkdir命令若指定路徑的父目錄不存在則一併建立,對於rmdir命令則刪除指定路徑的全部層次目錄,若是文件夾裏有內容,則不能用rmdir命令


以下:

mkdir -p 1/2/3

rmdir -p 1/2/3 

 

五、cp:複製命令

複製一個文件到另外一目錄:cp 1.txt ../test2

複製一個文件到本目錄並更名:cp 1.txt 2.txt

複製一個文件夾a並更名爲b:cp -r a b

  

六、mv:移動命令

將一個文件移動到另外一個目錄:mv 1.txt ../test1

將一個文件在本目錄更名:mv 1.txt 2.txt

將一個文件必定到另外一個目錄並更名:mv 1.txt ../test1/2.txt

 

七、rm命令

rm命令用於刪除文件,與dos下的del/erase命令類似,rm命令經常使用的參數有三個:-i,-r,-f。


–i :系統在刪除文件以前會先詢問確認,用戶回車以後,文件纔會真的被刪除。須要注意,linux下刪除的文件是不能恢復的,刪除以前必定要謹慎確認。

–r:該參數支持目錄刪除,功能和rmdir命令類似。

–f:和-i參數相反,-f表示強制刪除

 

八、du、df命令

du命令能夠顯示目前的目錄所佔用的磁盤空間,df命令能夠顯示目前磁盤剩餘空間。

 

若是du命令不加任何參數,那麼返回的是整個磁盤的使用狀況,若是後面加了目錄的話,就是這個目錄在磁盤上的使用狀況。


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

du -hs ./* 查看當前目錄下的全部文件夾和文件的大小

 

這兩個命令都支持-k,-m和-h參數,-k和-m相似,都表示顯示單位,一個是k字節一個是兆字節,-h則表示human-readable,即友好可讀的顯示方式。

 

九、cat命令

cat命令的功能是顯示或連結通常的ascii文本文件。cat是concatenate的簡寫,相似於dos下面的type命令。用法以下:

cat file1 顯示file1文件內容

cat file1 file2 依次顯示file1,file2的內容

cat file1 file2 > file3 把file1, file2的內容結合起來,再「重定向(>)」到file3文件中。


">"是右重定向符,表示將左邊命令結果當成右邊命令的輸入,注意:若是右側文件是一個已存在文件,其原有內容將會被清空,而變成左側命令輸出內容。若是但願以追加方式寫入,請改用">>"重定向符。


若是">"左邊沒有指定文件,如: cat >file1,將會等用戶輸入,輸入完畢後再按[Ctrl]+[c]或[Ctrl]+[d],就會將用戶的輸入內容寫入file1。

 

十、echo命令

echo命令的使用頻率很多於ls和cat,尤爲是在shell腳本編寫中。

語法:echo [-ne][字符串]

功能:echo會將輸入的字符串送往標準輸出,輸出的字符串間以空白字符隔開, 並在最後加上換行符。


參數:

-n 顯示字串時在最後自動換行

-e 支持如下格式的轉義字符, -E 不支持如下格式的轉義字符

/a 發出警告聲;

/b 刪除前一個字符;

/c 最後不加上換行符號;

/f 換行但光標仍舊停留在原來的位置;

/n 換行且光標移至行首;

/r 光標移至行首,但不換行;

/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下,單引號’’和雙引號是有區別的,單引號忽略全部的轉義,雙引號不會忽略如下特殊字符:

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 "//TEST"

/TEST

oracle@hjtest:~> echo '//TEST'

//TEST

oracle@hjtest:~> echo "Hello!"

echo "Hello"

Hello

oracle@hjtest:~> echo 'Hello!'

Hello!

 

十一、more,less,clear

n        more,less命令

這兩個命令用於查看文件,若是一個文件太長,顯示內容超出一個屏幕,用cat命令只能看到最後的內容,用more和less兩個命令能夠分頁查看。more指令可使超過一頁的文件內容分頁暫停顯示,用戶按鍵後才繼續顯示下一頁。而less除了有more的功能之外,還能夠用方向鍵往上或往下的滾動文件,更方便瀏覽閱讀。


less的經常使用動做命令:

回車鍵 向下移動一行;

y 向上移動一行;

空格鍵 向下滾動一屏;

b 向上滾動一屏;

d 向下滾動半屏;

h less的幫助;

u 向上洋動半屏;

w 能夠指定顯示哪行開始顯示,是從指定數字的下一行顯示;好比指定的是6,那就從第7行顯示;

g 跳到第一行;

G 跳到最後一行;

p n% 跳到n%,好比 10%,也就是說比整個文件內容的10%處開始顯示;

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

v 調用vi編輯器;

q 退出less

!command 調用SHELL,能夠運行命令;好比!ls 顯示當前列當前目錄下的全部文件;


n        clear命令

clear命令是用來清除當前屏幕顯示的,不需任何參數,和dos下的cls命令功能相同。

 

十二、head,tail

n        head和tail命令

都用於查看文本文件,區別在於: head顯示文件的頭n行,tail顯示文件的尾n行,缺省狀況n都爲10行。能夠經過-n方式指定行數,如:

head -100 file和tail -100 file分別表示顯示文件頭100行和尾100行內容。

n        tail -f命令

能夠實時查看文件新增內容。

 

1三、wc命令

該命令用於統計指定文件中的字節數、字數、行數。該命令各選項含義以下:

-l 統計行數

-w 統計字數

-c 統計字節數


這些選項能夠組合使用。輸出列的順序和數目不受選項的順序和數目的影響。老是按下述順序顯示而且每項最多一列。


行數、字數、字節數、文件名

若是命令行中沒有文件名,則輸出中不出現文件名。

例如:

oracle@hjtest:~> wc 1.txt 2.txt

  460  1679 16353 1.txt

  300  1095 10665 2.txt

  760  2774 27018 總用量

oracle@hjtest:~> wc -l 1.txt

460 1.txt

缺省參數爲-lcw,即wc file1 file2命令的執行結果與上面同樣。

 

1四、grep 命令

grep是(global search regular expression(RE) and print out the line的縮寫,用於從文件面搜索包含指定模式的行並打印出來,它是一種強大的文本搜索工具,支持使用正則表達式搜索文本。grep的工做方式是這樣的,它在一個或多個文件中搜索字符串模板。若是模板包括空格,則必須被」」引用,模板後的全部字符串被看做文件名。搜索結果送到屏幕,不影響原文件內容。

 

grep可用於shell腳本,由於grep經過返回一個狀態值來講明搜索的狀態,若是模板搜索成功,則返回0,若是搜索不成功,則返回1,若是搜索的文件不存在,則返回2。咱們利用這些返回值就可進行一些自動化的文本處理工做。


示例:

$ ls -l | grep '^a'

經過管道過濾ls -l輸出的內容,只顯示以a開頭的行。

$ grep 'test' d*

顯示全部以d開頭的文件中包含test的行。

$ grep 'test' aa bb cc

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

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

顯示全部包含每一個字符串至少有5個連續小寫字符的字符串的行。

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


若是west被匹配,則es就被存儲到內存中,並標記爲1,而後搜索任意個字符(.*),這些字符後面緊跟着另一個es(/1),找到就顯示該行。若是用egrep或grep -E,就不用"/"號進行轉義,直接寫成'w(es)t.*/1'就能夠了。

 

1五、man,logout命令

man命令

man是manual的縮寫,至關於Unix/Linux的聯機Help,每一個系統命令和調用都有很是詳細的說明,絕大多數都是英文。如:man ls便是查看ls命令的使用說明,通常還有另外一種方法用來查看幫助,如:ls –help,這種方式絕大多數命令都支持。

 

logout命令

該命令用於退出系統,與login命令對應。

 

1六、管道和xargs
管道:

利用Linux所提供的管道符「|」將兩個命令隔開,管道符左邊命令的輸出就會做爲管道符右邊命令的輸入。連續使用管道意味着第一個命令的輸出會做爲第二個命令的輸入,第二個命令的輸出又會做爲第三個命令的輸入,依此類推。


注意:管道左邊命令的輸入做爲管道右邊命令的輸入(命令的輸入是必定的),不是參數,並非全部命令都支持管道


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

 

xargs:

大多數 Linux 命令都會產生輸出:文件列表、字符串列表等。但若是要使用其餘某個命令並將前一個命令的輸出做爲參數該怎麼辦?例如,file 命令顯示文件類型(可執行文件、ascii 文本等);你能處理輸出,使其僅顯示文件名,目前你但願將這些名稱傳遞給 ls -l命令以查看時間戳記。xargs 命令就是用來完成此項工做的。


注意:find命令把匹配到的文件傳遞給xargs命令,而xargs命令每次只獲取一部分文件而不是所有,不像-exec選項那樣。這樣它能夠先處理最早獲取的一部分文件,而後是下一批,並如此繼續下去

 

例子:

一、在整個系統中查找內存信息轉儲文件(core dump) ,而後把結果保存到/tmp/core.log 文件中:

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


二、當一個目錄下文件太多時,直接用rm * 命令會包參數過長,用以下方法能夠所有刪除

$ls | xargs rm

 

1七、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

.

1八、不帶任何參數的set命令將顯示shell的所有變量

相關文章
相關標籤/搜索