• cat  由第一行開始顯示檔案內容
  • tac  從最後一行開始顯示,可以看出 tac 是 cat 的倒著寫!
  • nl   顯示的時候,順道輸出行號!
  • more 一頁一頁的顯示檔案內容
  • less 與 more 類似,但是比 more 更好的是,他可以往前翻頁!
  • head 只看頭幾行
  • tail 只看尾巴幾行
  • od   以二進位的方式讀取檔案內容!

1 直接檢視檔案內容

直接查閱一個檔案的內容可以使用 cat/tac/nl 這幾個指令啊!

  • cat (concatenate)

 

  • tac (反向列示)

cat 是由『第一行到最後一行連續顯示在螢幕上』,而 tac 則是『 由最後一行到第一行反向在螢幕上顯示出來 』

 

  • nl (添加行號列印)

 

2 可翻頁檢視

  • more (一頁一頁翻動)

 

而且還可以在最後一行輸入一些有用的指令喔!在 more 這個程式的運作過程中,你有幾個按鍵可以按的:

  • 空白鍵 (space):代表向下翻一頁;
  • Enter         :代表向下翻『一行』;
  • /字串         :代表在這個顯示的內容當中,向下搜尋『字串』這個關鍵字;
  • :f            :立刻顯示出檔名以及目前顯示的行數;
  • q             :代表立刻離開 more ,不再顯示該檔案內容。
  • b 或 [ctrl]-b :代表往回翻頁,不過這動作只對檔案有用,對管線無用。

 

  • less (一頁一頁翻動)

 

本上,可以輸入的指令有:

  • 空白鍵    :向下翻動一頁;
  • [pagedown]:向下翻動一頁;
  • [pageup]  :向上翻動一頁;
  • /字串     :向下搜尋『字串』的功能;
  • ?字串     :向上搜尋『字串』的功能;
  • n         :重複前一個搜尋 (與 / 或 ? 有關!)
  • N         :反向的重複前一個搜尋 (與 / 或 ? 有關!)
  • g         :前進到這個資料的第一行去;
  • G         :前進到這個資料的最後一行去 (注意大小寫);
  • q         :離開 less 這個程式;

 

3 資料擷取

我們可以將輸出的資料作一個最簡單的擷取,那就是取出檔案前面幾行 (head) 或取出後面幾行 (tail) 文字的功能。

  • head (取出前面幾行)

 

  • tail (取出後面幾行)

 

例題:

假如我想要顯示 /etc/man_db.conf 的第 11 到第 20 行呢?

答:

這個應該不算難,想一想,在第 11 到第 20 行,那麼我取前 20 行,
再取後十行,所以結果就是:『 head -n 20 /etc/man_db.conf | tail -n 10 』,
這樣就可以得到第 11 到第 20 行之間的內容了!

這兩個指令中間有個管線 (|) 的符號存在,這個管線的意思是:
前面的指令所輸出的訊息,請透過管線交由後續的指令繼續使用』的意思。
所以, head -n 20 /etc/man_db.conf 會將檔案內的 20 行取出來
,但不輸出到螢幕上,而是轉交給後續的 tail 指令繼續處理。
因此 tail 『不需要接檔名』,因為 tail 所需要的資料是來自於 head 處理後的結果!這樣說,有沒有理解?

4 非純文字檔: od

事實上,由於執行檔通常是 binary file ,使用上頭提到的指令來讀取他的內容時,

確實會產生類似亂碼的資料啊!那怎麼辦?沒關係,我們可以利用 od 這個指令來讀取喔!

 

5 修改檔案時間或建置新檔: touch

    • modification time (mtime)
      當該檔案的『內容資料』變更時,就會更新這個時間!內容資料指的是檔案的內容,而不是檔案的屬性或權限喔!

    • status time (ctime)
      當該檔案的『狀態 (status)』改變時,就會更新這個時間,舉例來說,像是權限與屬性被更改了,都會更新這個時間啊。 

    • access time (atime)
      當『該檔案的內容被取用』時,就會更新這個讀取時間 (access)。舉例來說,我們使用 cat 去讀取 /etc/man_db.conf , 就會更新該檔案的 atime 了。

 

在預設的情況下,ls 顯示出來的是該檔案的 mtime ,也就是這個檔案的內容上次被更動的時間

 

 

 

無論如何, touch 這個指令最常被使用的情況是:

  • 建立一個空的檔案;
  • 將某個檔案日期修訂為目前 (mtime 與 atime)

 

posted on 2016-05-18 15:58  Sharpest  阅读(148)  评论(0)    收藏  举报