1. 程式人生 > >Linux中檢視文字檔案內容命令cat/tac/nl/more/less/head/tail/vi總結

Linux中檢視文字檔案內容命令cat/tac/nl/more/less/head/tail/vi總結

概述

在Linux系統下,有很多命令可以檢視文字檔案的內容,如cat/tac/nl/more/less/head/tail等命令,當然還有vi/nano等文字編輯器。在這裡,我只介紹其中自己常用的一部分命令和操作。
cat:從第一行開始顯示全部的文字內容;
tac:從最後一行開始,顯示全部分文字內容,與cat相反;
nl:顯示文字時,可以輸出行號;
more:按頁顯示文字內容;
less:與more差不多,也是按頁顯示文字內容,區別是less可以一行一行的回退,more回退只能一頁一頁回退;
head:從頭開始顯示檔案指定的行數;
tail:顯示檔案指定的結尾的行數,但每一行的位置還是原檔案中的位置,不會像tac那樣與原檔案相反。
vi:

NB的Linux文字編輯器。

例子與說明

cat

  • cat demo.txt
    顯示demo.txt檔案全部內容
  • cat -b demo.txt
    顯示demo.txt檔案全部內容,非空的行輸出行號,空行會輸出,但不標記行號
  • cat -n demo.txt
    顯示demo.txt檔案全部內容,所有行都輸出行號
    cat
    優點:簡單
    缺點:當文字檔案內容多於一頁內容時,只能顯示出最後一頁的內容,無法看到前面的內容。

tac

  • tac demo.txt
    從最後一行開始,倒序輸出demo.txt的內容。本人不常用。
    tac

nl

  • nl demo.txt
    顯示檔案內容,順便輸出行號,預設情況下空行不記錄行號
  • nl -b a demo.txt
    • b a #空行也輸出行號
    • b t #預設設定
    • n ln ##行號最左方顯示
    • n rn ##行號最右方顯示,且不加0(然並卵,我的機器上依然顯示在左邊)
    • n rz ##行號最右方顯示,且加0(再次然並卵,但加了0了,如下圖所示)
    • w ##設定行號欄位佔用的位數
      nl
      優點:貌似很靈活的樣子
      缺點:就檢視下內容,輸出個行號而已,搞那麼複雜有卵用。。。

more

  • more demo.txt
    • 按一下空格則往下翻一頁
    • 按一下Enter則往下翻一行
    • 按一下B鍵往上翻一頁
    • 不能往上一行一行的翻回去了
    • :f 可以顯示檔名和現在的行數
    • q退出more

less

  • less demo.txt
    • more命令的所有按鍵less都支援
    • ↑↓箭頭可以實現一行一行的上下翻
    • PageDown/PageUp可以實現一頁一頁的上下翻
  • head demo.txt
    預設只顯示檔案的前10行文字內容
  • head -n 6 demo.txt
    -n 6 引數指定顯示檔案的前6行
  • head -n -4 demo.txt
    -n -4 負數表示除去檔案結尾的4行,其他的從頭開始的所有行都顯示出來
    head

tail

  • tail demo.txt
    預設只顯示從檔案最後一行開始的10行文字內容
  • tail -n 5 demo.txt
    -n 5 引數指定顯示檔案的最後5行
  • tail -n -5 demo.txt
    **-n -5**tail命令不支援負數,執行結果同-n 5
    tail

vi

vi命令是使用VIM文字編輯器開啟文字,VIM編輯器目前本人也是剛開始學習,只記住了一些簡單的命令:

  • vi demo.txt 進入Normal模式檢視文字
  • i 進入Insert模式插入內容,編輯文字
  • nG n代表行號,在Normal模式輸入nG則定位到第n行
  • :set number 在Normal模式輸入則顯示文字行號,空行也會顯示行號
  • ESC 退出Insert模式至Normal模式
  • :wq 在Normal模式下儲存退出。w儲存;q退出;可以單獨使用
    就知道那麼多了。希望以後能熟練使用VIM編輯器。
    關於VIM的入門,請參考我的另一篇部落格:VIM編輯器操作命令積累
    陳皓老師的部落格文章:VIM練級攻略