head與tail都是以行為單位進行資料選取的,head是取出前面,tail是取出後面的。
head(取出前面幾行)
命令格式:
head [引數]... [檔案]...
命令引數:
-q 隱藏檔名
-v 顯示檔名
-c《位元組》 顯示位元組數
-n《行數》 顯示的行數
示例:
預設情況下,顯示前10行
[root@w zdw]# head 123.log
顯示前5行
[root@w zdw]# head -n 5 123.log
檔案有21行,以下操作,只列印前面的6行,後面的15行不會列印出來
[root@w zdw]# head -n -15 123.log
使用-c引數,看指定大小的內容
#下面message的檔案有1149位元組(12k)
總用量 2392
-rw-r--r--. 1 root root 181 11月 22 17:34 99.sh
-rw-r--r--. 1 root root 1222783 10月 28 12:09 glances-1.7.1.tar.gz
-rw-------. 1 root root 11595 11月 22 14:08 messages
-rw-r--r--. 1 root root 1149 11月 22 15:17 messages2.gz
-rw-r--r--. 1 root root 1202 11月 22 14:36 messages.gz
-rw-r--r--. 1 root root 1196607 10月 11 15:27 nginx-1.2.9.zip
nov 20 04:01:01 c7 systemd: created slice user-0.slice.
nov 20 04:01:01 c7 systemd: starting session 94 of user root.
nov 20 04:01:01 c7 systemd: created slice user-0.slice.
nov 20 04:01:01 c7 systemd: starting session 94 of user root.
nov 20 04:01:01 c7 systemd: started session 94 of user root.
nov 20 05:01:01 c7 systemd: created slice user-0.slice.
nov 20 05:01:01 c7 systemd: starting session 95 of user root.
nov 20 05:01:01 c7 systemd: started session 95 of user root.
nov 20 06:01:01 c7 systemd: created slice user-0.slice.
nov 20 06:01:01 c7 systemd: starting session 96 of user root.
nov 20 06:01:01 c7 systemd: started session 96 of user root.
nov 20 07:01:01 c7 systemd: created slice user-0.slice.
nov 20 07:01:01 c7 systemd: starting session 97 of user root.
nov 20 07:01:01 c7 systemd: started session 97 of user root.
nov 20 08:01:01 c7 systemd: created slice user-0.slice.
nov 20 08:01:01 c7 systemd: starting session 98 of user root.
nov 20 08:01:01 c7 systemd: started session 98 of user root.
nov 20 09:01:01 c7 systemd: created slice user-0.slice.
nov 20 09:01:01 c7 systemd: starting session 99 of user root
tail(取出後面幾行)
命令格式:
tail[必要引數][選擇引數][檔案]
命令引數:
-f 迴圈讀取
-q 不顯示處理資訊
-v 顯示詳細的處理資訊
-c《數目》 顯示的位元組數
-n《行數》 顯示行數
--pid=pid 與-f合用,表示在程序id,pid死掉之後結束.
-q, --quiet, --silent 從不輸出給出檔名的首部
-s, --sleep-interval=s 與-f合用,表示在每次反覆的間隔休眠s秒
tail -f這個選項特別有用。tail -f命令在按要求的行數列印完之後,不是立即退出,而是等著有新行被追加到檔案末尾,再隨著新行的出現列印新行----對於監視日誌檔案來說很有用。不過要注意,寫檔案的那個程式可能會緩衝它的輸出。即使從邏輯上講,新行是按有規律的時間間隔追加的,但它們可能只按1kib或者4kib的塊來顯示。
鍵入ctrl+c即可停止監視。
示例:
顯示檔案最後5行
[root@w zdw]# tail -n 5 123.log
只列出15行以後的資料
[root@w zdw]# tail -n +15 123.log
使用-f引數,迴圈檢視檔案內容
[root@w zdw]# ping www.baidu.com >123.log & #把ping資訊追加到123.log中
[root@w zdw]# tail -f 123.log
64 bytes from 220.181.111.188: icmp_seq=32 ttl=55 time=3.50 ms
64 bytes from 220.181.111.188: icmp_seq=33 ttl=55 time=3.67 ms
64 bytes from 220.181.111.188: icmp_seq=34 ttl=55 time=7.14 ms
64 bytes from 220.181.111.188: icmp_seq=47 ttl=55 time=3.54 ms
64 bytes from 220.181.111.188: icmp_seq=48 ttl=55 time=3.33 ms
64 bytes from 220.181.111.188: icmp_seq=49 ttl=55 time=4.24 ms
^c一直顯示,直到按ctrl+c才終止
顯示檔案的第6行到第10行
[root@w zdw]# head -n 10 456.log|tail -n 5 #使用管道來操作
使用-f查詢新增的內容,並顯示時間,%n精確時間
[root@rsync01 shell]# tail -f 6_5.sh | while read; do echo "$(date +%t.%n) $reply"; done
16:26:33.322562150 ddd
16:26:33.325881031 ddd
16:26:33.330306537 ddd
16:26:33.333555193 ddd
16:27:07.573748236 123232
16:27:12.225703519 12324343^c
學習Linux命令(8)
cp 選項 t 源 目的 或 cp 選項 源 目錄 或 cp 選項 t 目錄 源 將原始檔複製至目標檔案,或將乙個或多個原始檔複製到目錄下 a,archive 等同於 dr 複製全部,但不跟隨鏈結 backup control 複製時如果目標檔案已存在則做備份 b 等同於 backup但是沒有引數 ...
linux命令(8)kill命令
kill命令 linux中的kill命令用來終止指定的程序 terminate a process 的執行,是linux下程序管理的常用命令。通常,終止乙個前台程序可以使用ctrl c鍵,但是,對於乙個後台程序就須用kill命令來終止,我們就需要先使用ps pidof pstree top等工具獲取...
Linux筆記(8) 管線命令
1 管線命令界定符號 1 僅能接受標準輸出的資訊 2 必須能夠接受來自前乙個命令的資料成為標準輸入繼續處理 才行 2 擷取命令,將一段資料經過分析,取出想要的。一行一行分析 1 cut a cut d 分隔字元 f fields,利用分隔字元對輸入的內容進行分割,取fields代表的段數 eg ec...