天天看點

基礎指令五

wc

  Linux系統中的wc(Word Count)指令的功能為統計指定檔案中的位元組數、字數、行數,并将統計結果顯示輸出。

1.指令格式:

wc [選項]檔案...

2.指令功能:

統計指定檔案中的位元組數、字數、行數,并将統計結果顯示輸出。該指令統計指定檔案中的位元組數、字數、行數。如果沒有給出檔案名,則從标準輸入讀取。wc同時也給出所指定檔案的總統計數。

3.指令參數:

-c 統計位元組數。

-l 統計行數。

-m 統計字元數。這個标志不能與 -c 标志一起使用。

-w 統計字數。一個字被定義為由空白、跳格或換行字元分隔的字元串。

-L 列印最長行的長度。

-help 顯示幫助資訊

--version 顯示版本資訊

2.ln

    ln是linux中又一個非常重要指令,它的功能是為某一個檔案在另外一個位置建立一個同步的連結.當我們需要在不同的目錄,用到相同的檔案時,我們不需要在每一個需要的目錄下都放一個必須相同的檔案,我們隻要在某個固定的目錄,放上該檔案,然後在 其它的目錄下用ln指令連結(link)它就可以,不必重複的占用磁盤空間。

 ln [參數][源檔案或目錄][目标檔案或目錄]

Linux檔案系統中,有所謂的連結(link),我們可以将其視為檔案的别名,而連結又可分為兩種 : 硬連結(hard link)與軟連結(symbolic link),硬連結的意思是一個檔案可以有多個名稱,而軟連結的方式則是産生一個特殊的檔案,該檔案的内容是指向另一個檔案的位置。硬連結是存在同一個檔案系統中,而軟連結卻可以跨越不同的檔案系統。

軟連結:

1.軟連結,以路徑的形式存在。類似于Windows作業系統中的快捷方式

2.軟連結可以 跨檔案系統 ,硬連結不可以

3.軟連結可以對一個不存在的檔案名進行連結

4.軟連結可以對目錄進行連結

硬連結:

1.硬連結,以檔案副本的形式存在。但不占用實際空間。

2.不允許給目錄建立硬連結

3.硬連結隻有在同一個檔案系統中才能建立

  這裡有兩點要注意:

第一,ln指令會保持每一處連結檔案的同步性,也就是說,不論你改動了哪一處,其它的檔案都會發生相同的變化;

第二,ln的連結又分軟連結和硬連結兩種,軟連結就是ln –s 源檔案 目标檔案,它隻會在你標明的位置上生成一個檔案的鏡像,不會占用磁盤空間,硬連結 ln 源檔案 目标檔案,沒有參數-s, 它會在你標明的位置上生成一個和源檔案大小相同的檔案,無論是軟連結還是硬連結,檔案都保持同步變化。

ln指令用在連結檔案或目錄,如同時指定兩個以上的檔案或目錄,且最後的目的地是一個已經存在的目錄,則會把前面指定的所有檔案或目錄複制到該目錄中。若同時指定多個檔案或目錄,且最後的目的地并非是一個已存在的目錄,則會出現錯誤資訊。

必要參數:

-b 删除,覆寫以前建立的連結

-d 允許超級使用者制作目錄的硬連結

-f 強制執行

-i 互動模式,檔案存在則提示使用者是否覆寫

-n 把符号連結視為一般目錄

-s 軟連結(符号連結)

-v 顯示詳細的處理過程

選擇參數:

-S “-S<字尾備份字元串> ”或 “--suffix=<字尾備份字元串>”

-V “-V<備份方式>”或“--version-control=<備份方式>”

--help 顯示幫助資訊

3.whereis

  whereis指令隻能用于程式名的搜尋,而且隻搜尋二進制檔案(參數-b)、man說明檔案(參數-m)和源代碼檔案(參數-s)。如果省略參數,則傳回所有資訊。

和find相比,whereis查找的速度非常快,這是因為linux系統會将 系統内的所有檔案都記錄在一個資料庫檔案中,當使用whereis和下面即将介紹的locate時,會從資料庫中查找資料,而不是像find指令那樣,通 過周遊硬碟來查找,效率自然會很高。 

但是該資料庫檔案并不是實時更新,預設情況下時一星期更新一次,是以,我們在用whereis和locate 查找檔案時,有時會找到已經被删除的資料,或者剛剛建立檔案,卻無法查找到,原因就是因為資料庫檔案沒有被更新。 

whereis [-bmsu] [BMS 目錄名 -f ] 檔案名

whereis指令是定位可執行檔案、源代碼檔案、幫助檔案在檔案系統中的位置。這些檔案的屬性應屬于原始代碼,二進制檔案,或是幫助檔案。whereis 程式還具有搜尋源代碼、指定備用搜尋路徑和搜尋不尋常項的能力。

-b   定位可執行檔案。

-m   定位幫助檔案。

-s   定位源代碼檔案。

-u   搜尋預設路徑下除可執行檔案、源代碼檔案、幫助檔案以外的其它檔案。

-B   指定搜尋可執行檔案的路徑。

-M   指定搜尋幫助檔案的路徑。

-S   指定搜尋源代碼檔案的路徑。

4.find

Linux下find指令在目錄結構中搜尋檔案,并執行指定的操作。Linux下find指令提供了相當多的查找條件,功能很強大。由于find具有強大的功能,是以它的選項也很多,其中大部分選項都值得我們花時間來了解一下。即使系統中含有網絡檔案系統( NFS),find指令在該檔案系統中同樣有效,隻你具有相應的權限。 在運作一個非常消耗資源的find指令時,很多人都傾向于把它放在背景執行,因為周遊一個大的檔案系統可能會花費很長的時間(這裡是指30G位元組以上的檔案系統)。

find pathname -options [-print -exec -ok ...]

用于在檔案樹種查找檔案,并作出相應的處理 

pathname: find指令所查找的目錄路徑。例如用.來表示目前目錄,用/來表示系統根目錄。 

-print: find指令将比對的檔案輸出到标準輸出。 

-exec: find指令對比對的檔案執行該參數所給出的shell指令。相應指令的形式為'command' {  } \;,注意{   }和\;之間的空格。 

-ok: 和-exec的作用相同,隻不過以一種更為安全的模式來執行該參數所給出的shell指令,在執行每一個指令之前,都會給出提示,讓使用者來确定是否執行。

4.指令選項:

-name   按照檔案名查找檔案。

-perm   按照檔案權限來查找檔案。

-prune  使用這一選項可以使find指令不在目前指定的目錄中查找,如果同時使用-depth選項,那麼-prune将被find指令忽略。

-user   按照檔案屬主來查找檔案。

-group  按照檔案所屬的組來查找檔案。

-mtime -n +n  按照檔案的更改時間來查找檔案, - n表示檔案更改時間距現在n天以内,+ n表示檔案更改時間距現在n天以前。find指令還有-atime和-ctime 選項,但它們都和-m time選項。

-nogroup  查找無有效所屬組的檔案,即該檔案所屬的組在/etc/groups中不存在。

-nouser   查找無有效屬主的檔案,即該檔案的屬主在/etc/passwd中不存在。

-newer file1 ! file2  查找更改時間比檔案file1新但比檔案file2舊的檔案。

-type  查找某一類型的檔案,諸如:

b - 塊裝置檔案。

d - 目錄。

c - 字元裝置檔案。

p - 管道檔案。

l - 符号連結檔案。

f - 普通檔案。

-size n:[c] 查找檔案長度為n塊的檔案,帶有c時表示檔案長度以位元組計。-depth:在查找檔案時,首先查找目前目錄中的檔案,然後再在其子目錄中查找。

-fstype:查找位于某一類型檔案系統中的檔案,這些檔案系統類型通常可以在配置檔案/etc/fstab中找到,該配置檔案中包含了本系統中有關檔案系統的資訊。

-mount:在查找檔案時不跨越檔案系統mount點。

-follow:如果find指令遇到符号連結檔案,就跟蹤至連結所指向的檔案。

-cpio:對比對的檔案使用cpio指令,将這些檔案備份到錄音帶裝置中。

另外,下面三個的差別:

-amin n   查找系統中最後N分鐘通路的檔案

-atime n  查找系統中最後n*24小時通路的檔案

-cmin n   查找系統中最後N分鐘被改變檔案狀态的檔案

-ctime n  查找系統中最後n*24小時被改變檔案狀态的檔案

-mmin n   查找系統中最後N分鐘被改變檔案資料的檔案

-mtime n  查找系統中最後n*24小時被改變檔案資料的檔案

5.tail

tail 指令從指定點開始将檔案寫到标準輸出.使用tail指令的-f選項可以友善的查閱正在改變的日志檔案,tail -f filename會把filename裡最尾部的内容顯示在螢幕上,并且不但重新整理,使你看到最新的檔案内容. 

1.指令格式;

tail[必要參數][選擇參數][檔案]   

用于顯示指定檔案末尾内容,不指定檔案時,作為輸入資訊進行處理。常用檢視日志檔案。

-f 循環讀取

-q 不顯示處理資訊

-v 顯示詳細的處理資訊

-c<數目> 顯示的位元組數

-n<行數> 顯示行數

--pid=PID 與-f合用,表示在程序ID,PID死掉之後結束. 

-q, --quiet, --silent 從不輸出給出檔案名的首部 

-s, --sleep-interval=S 與-f合用,表示在每次反複的間隔休眠S秒 

   本文轉自327051661 51CTO部落格,原文連結:http://blog.51cto.com/andyboge/1945068,如需轉載請自行聯系原作者