Linux中檢視文字檔案內容命令cat/tac/nl/more/less/head/tail/vi總結
阿新 • • 發佈:2019-02-15
概述
在Linux系統下,有很多命令可以檢視文字檔案的內容,如cat/tac/nl/more/less/head/tail等命令,當然還有vi/nano等文字編輯器。在這裡,我只介紹其中自己常用的一部分命令和操作。
cat:從第一行開始顯示全部的文字內容;
tac:從最後一行開始,顯示全部分文字內容,與cat相反;
nl:顯示文字時,可以輸出行號;
more:按頁顯示文字內容;
less:與more差不多,也是按頁顯示文字內容,區別是less可以一行一行的回退,more回退只能一頁一頁回退;
head:從頭開始顯示檔案指定的行數;
tail:顯示檔案指定的結尾的行數,但每一行的位置還是原檔案中的位置,不會像tac那樣與原檔案相反。
vi:
例子與說明
cat
- cat demo.txt
顯示demo.txt檔案全部內容 - cat -b demo.txt
顯示demo.txt檔案全部內容,非空的行輸出行號,空行會輸出,但不標記行號 - cat -n demo.txt
顯示demo.txt檔案全部內容,所有行都輸出行號
優點:簡單
缺點:當文字檔案內容多於一頁內容時,只能顯示出最後一頁的內容,無法看到前面的內容。
tac
- tac demo.txt
從最後一行開始,倒序輸出demo.txt的內容。本人不常用。
nl
- nl demo.txt
顯示檔案內容,順便輸出行號,預設情況下空行不記錄行號 - nl -b a demo.txt
- b a #空行也輸出行號
- b t #預設設定
- n ln ##行號最左方顯示
- n rn ##行號最右方顯示,且不加0(然並卵,我的機器上依然顯示在左邊)
- n rz ##行號最右方顯示,且加0(再次然並卵,但加了0了,如下圖所示)
- w ##設定行號欄位佔用的位數
優點:貌似很靈活的樣子
缺點:就檢視下內容,輸出個行號而已,搞那麼複雜有卵用。。。
more
- more demo.txt
- 按一下空格則往下翻一頁
- 按一下Enter則往下翻一行
- 按一下B鍵往上翻一頁
- 不能往上一行一行的翻回去了
- :f 可以顯示檔名和現在的行數
- q退出more
less
- less demo.txt
- more命令的所有按鍵less都支援
- ↑↓箭頭可以實現一行一行的上下翻
- PageDown/PageUp可以實現一頁一頁的上下翻
head
- head demo.txt
預設只顯示檔案的前10行文字內容 - head -n 6 demo.txt
-n 6 引數指定顯示檔案的前6行 - head -n -4 demo.txt
-n -4 負數表示除去檔案結尾的4行,其他的從頭開始的所有行都顯示出來
tail
- tail demo.txt
預設只顯示從檔案最後一行開始的10行文字內容 - tail -n 5 demo.txt
-n 5 引數指定顯示檔案的最後5行 - tail -n -5 demo.txt
**-n -5**tail命令不支援負數,執行結果同-n 5
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練級攻略