head: 打印文件的前10行(默認)
tail: 打印文件的后10行(默認)
如果你是個典型的開發或者部署人員,是不是覺得開始親切起來。我們平時用的最多的命令
- $tail -f catalina.out
$head
實例:
1. 打印head.txt, tail.txt的前10行
- $head head.txt tail.txt
==> head.txt <== head.txt內容 ==> tail.txt <== tail.txt內容 |
2. 打印 1K的內容
- $head –c1K head.txt
3. 打印前5行內容
- $head -n5 head.txt
4. 打印出最后5行之外的所有行
- $head -n -5 head.txt
這里-5表示負5
解讀 --help
用法:head [選項]... [文件]... 將每個指定文件的頭10 行顯示到標准輸出。 如果指定了多於一個文件,在每一段輸出前會給出文件名作為文件頭。 如果不指定文件,或者文件為"-",則從標准輸入讀取數據。 長選項必須使用的參數對於短選項時也是必需使用的。 GB 1000*1000*1000, G 1024*1024*1024, 對於T, P, E, Z, Y 同樣適用。 |
解讀:
這里唯一注意:如果不指定文件,或者文件為"-",則從標准輸入讀取數據。
$tail
實例:
1.打印一個文件最后10行
- $tail tail.txt
2.跟蹤日志,打印文件最后幾行,並且保持讀取追加數據
- tail -f tail.txt
解讀--help
用法:tail [選項]... [文件]... 顯示每個指定文件的最后10 行到標准輸出。 若指定了多於一個文件,程序會在每段輸出的開始添加相應文件名作為頭。 如果不指定文件或文件為"-" ,則從標准輸入讀取數據。 長選項必須使用的參數對於短選項時也是必需使用的。 |
解讀:
1. 區別-f 和-F
借網上一例子:
窗口1 輸入
- $while [ "true" ] ; do date >>test.log; sleep 1 ; done;
#每隔一秒傳入一個日期到test.log
窗口2 輸入
- $tail -f test.log
窗口3 輸入
- $rm test.log
此時窗口2 則停止打印,而test.log已經重新生成
如果采用-F的形式,也會重新生成一個新的test.log,但會自動重新讀取
收尾
tail和head是兩個非常常用的命令,熟練掌握方便查看文件內容。兩個很簡單,也很相似,所以放在一起寫出來