1. 程式人生 > >Linux下檢視檔案內容的常見命令

Linux下檢視檔案內容的常見命令

檢視檔案內容的命令:

cat     由第一行開始顯示內容,並將所有內容輸出

tac     從最後一行倒序顯示內容,並將所有內容輸出

more    根據視窗大小,一頁一頁的現實檔案內容

less    和more類似,但其優點可以往前翻頁,而且進行可以搜尋字元

head    只顯示頭幾行

tail    只顯示最後幾行

nl      類似於cat -n,顯示時輸出行號

tailf   類似於tail -f 

1.cat 與 tac

cat的功能是將檔案從第一行開始連續的將內容輸出在螢幕上。但是cat並不常用,原因是當檔案大,行數比較多時,螢幕無法全部容下時,只能看到一部分內容。

cat語法:cat [-n] 檔名 (-n : 顯示時,連行號一起輸出)

tac的功能是將檔案從最後一行開始倒過來將內容資料輸出到螢幕上。我們可以發現,tac實際上是cat反過來寫。這個命令也不常用。

tac語法:tac 檔名。

2.more和less(常用)

more的功能是將檔案從第一行開始,根據輸出視窗的大小,適當的輸出檔案內容。當一頁無法全部輸出時,可以用“回車鍵”向下翻行,用“空格鍵”向下翻頁。退出檢視頁面,請按“q”鍵。另外,more還可以配合管道符“|”(pipe)使用,例如:ls -al | more

more的語法:more 檔名

Enter 向下n行,需要定義,預設為1行;

Ctrl f 向下滾動一屏;

空格鍵 向下滾動一屏;

Ctrl b 返回上一屏;

= 輸出當前行的行號;

:f 輸出檔名和當前行的行號;

v 呼叫vi編輯器;

! 命令 呼叫Shell,並執行命令;

q 退出more

less的功能和more相似,但是使用more無法向前翻頁,只能向後翻。

less可以使用【pageup】和【pagedown】鍵進行前翻頁和後翻頁,這樣看起來更方便。

less的語法:less 檔名

less還有一個功能,可以在檔案中進行搜尋你想找的內容,假設你想在passwd檔案中查詢有沒有weblogic字串,那麼你可以這樣來做:

[[email protected] etc]# less passwd

然後輸入:

/weblogic

回車

此時如果有weblogic字串,linux會把該字元已高亮方式顯示。

退出檢視頁面,請按“q”鍵。

3.head和tail

head和tail通常使用在只需要讀取檔案的前幾行或者後幾行的情況下使用。head的功能是顯示檔案的前幾行內容

head的語法:head [n number] 檔名 (number 顯示行數)

tail的功能恰好和head相反,只顯示最後幾行內容

tail的語法:tail [-n number] 檔名

4.nl

nl的功能和cat -n一樣,同樣是從第一行輸出全部內容,並且把行號顯示出來

nl的語法:nl 檔名

5.tailf

 tailf命令幾乎等同於tail -f,嚴格說來應該與tail –follow=name更相似些。當檔案改名之後它也能繼續跟蹤,特別適合於日誌檔案的跟蹤(follow the growth of a log file)。與tail -f不同的是,如果檔案不增長,它不會去訪問磁碟檔案(It is similar to tail -f but does not access the file when it is not growing. This has the side effect of not updating the access time for the file, so a filesystem flush does not occur periodically when no log activity is happening.)。tailf特別適合那些便攜機上跟蹤日誌檔案,因為它能省電,因為減少了磁碟訪問嘛(tailf is extremely useful for monitoring log files on a laptop when logging is infrequent and the user desires that the hard disk spin down to conserve battery life.)。tailf命令不是個指令碼,而是一個用C程式碼編譯後的二進位制執行檔案,某些Linux安裝之後沒有這個命令,本文提供了怎麼編譯安裝tailf命令的方法。

簡單說說二者的區別:

  1. tailf 總是從檔案開頭一點一點的讀, 而tail -f 則是從檔案尾部開始讀

  2. tailf check檔案增長時,使用的是檔名, 用stat系統呼叫;而tail -f 則使用的是已開啟的檔案描述符; 注:tail 也可以做到類似跟蹤檔名的效果; 但是tail總是使用fstat系統呼叫,而不是stat系統呼叫;結果就是:預設情況下,當tail的檔案被偷偷刪除時,tail是不知道的,而tailf是知道的。

    常用引數

格式:tailf logfile

動態跟蹤日誌檔案logfile,最初的時候列印檔案的最後10行內容。

轉載自:cnblog