這篇要介紹和上上篇的 cat 類似的指令,其一是 tail,只不過這指令只輸出最後幾行 ; 而 head 則和 tail 相反,是輸出前面幾行。還有一個是 less,用來查看大檔案的好工具。
此篇會分別介紹 tail、head,以及和兩者很不同的 less。
tail file
輸出檔案最後 10 行 (不加參數的話預設為10行)
tail -n 5 file
輸出最後 5 行
tail -c 5 file
輸出最後 5 個字元
tail -n +3 file
從第 3 行開始輸出到檔案結尾
tail -f file
追蹤模式 ( 下方有詳細介紹 )
head file
輸出檔案前 10 行 (不加參數的話預設為10行)
head -n 5 file
輸出前 5 行
head -c 5 file
輸出前 5 個字元
head -n 5 file.txt
只輸出檔案開頭前五行
和前兩者不同,是 Linux/Unix 系統中用來 分頁瀏覽檔案內容 的指令。它的特點是可以 向前或向後翻頁,比 cat 更靈活,尤其適合查看 大檔案。
先輸入 less file
後,即可查看 file 的內容
space : 往下翻一頁
b : 往上翻一頁
enter : 往下翻一行
y : 往上翻一行
/文字 : 搜尋文字
n → 找下一個
N → 找上一個
g : 到第一行
G : 到最後一行
q : 退出 less
less [參數] [file]
-b
[緩衝區大小] : 設定緩衝區大小
-e
: 文件顯示結束後,自動離開
-f
: 強迫打開特殊文件,例如 : 二進制檔案、目錄
-i
: 忽略搜索時的大小寫
-N
: 給每一行從 1 開始編號
-o [file2]
: 將 less 的輸出存到 file2
-s
: 將多行空白合併為一行
-x [數字]
: 將tab空白變為指定數的空白,例如 less -x 2 file
file內的空白就會變成兩個空格
補充以上,tail 和 head 的指令只是相反過來而已,但 haed 沒有追蹤功能,但 less 和 tail 都有。
追蹤功能是指,可以在終端機顯示上即時的看到檔案的更改,像是內容的刪減或增加。比 cat 好用的點在於我們不用在每一次檔案更新後再輸入一次 cat file 去確認內容更改,可直接即時的觀察到。
tail -f file
追蹤檔案的內容刪減或增加
tail -F file
如果要追蹤的檔案未建立,或是有可能被刪除重建,這種狀況就可以改用 -F
,它跟 -f
類似,但它會在檔案讀取失敗(當檔案不存在或是被刪除時)後自動等待並重試。
less file
指令輸入後按下 Shift + f 就能變為追蹤模式
那就先到這~