介紹
head和tail是一組想對應的命令,預設分別顯示檔案的開頭和末尾10行記錄。
head命令
head命令預設顯示頭部的前N行
Usage: head [OPTION]... [FILE]... 預設輸出前10行 當指定多個檔案時,在輸出前輸出各個檔名 當沒有指定檔案或指定的檔案是“-”說明讀取標準輸入 Mandatory arguments to long options are mandatory for short options too. -c, --bytes=[-]K print the first K bytes of each file; with the leading `-', print all but the last K bytes of each file 顯示頭部前多少位元組,這裡的K是單位的標示,具體的單位參考下面列表,當使用-K時顯示除了尾部多少位元組外的所有內容 -n, --lines=[-]K print the first K lines instead of the first 10; with the leading `-', print all but the last K lines of each file顯示頭部的多少行,預設顯示頭部10行,例如-n -b代表顯示除了尾部512行外的所有行 -q, --quiet, --silent never print headers giving file names當指定多個檔案時,出現內容中不輸出檔名 -v, --verbose always print headers giving file names --help display this help and exit --version output version information and exit K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.
tail命令
tail命令同head命名正好相反,tail預設輸出尾部10行
Usage: tail [OPTION]... [FILE]... 預設輸出尾部10行 當指定多個檔案時,預設在輸出內容前顯示檔名 當沒有指定檔案或者指定的檔案是“-”時,讀取標準輸入 Mandatory arguments to long options are mandatory for short options too.對於長選項不可忽略的引數對應短選項也不可忽略 -c, --bytes=K output the last K bytes; alternatively, use -c +K顯示尾部的位元組數,當使用+k引數時表示從k位元組開始顯示到末尾,例如-c +1b 顯示512位元組開始到末尾的內容 to output bytes starting with the Kth of each file -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent追加顯示檔案最新的內容 -F same as --follow=name --retry等同於使用 -f filename --retry操作 -n, --lines=K output the last K lines, instead of the last 10;預設顯示輸出尾部的10行,當使用+k引數時指從第K行開始顯示到末尾,例如-n +6顯示第6行到末尾的內容 or use -n +K to output lines starting with the Kth --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default 5) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files). With inotify, this option is rarely useful. --pid=PID with -f, terminate after process ID, PID dies--指定程式id,可以結合-f引數一起使用,當指定的程式終止時顯示也終止 -q, --quiet, --silent never output headers giving file names ###同時顯示多個檔案時不輸出檔名 --retry keep trying to open a file even when it is or當連線的檔案突然不可訪問時嘗試重新連線 becomes inaccessible; useful when following by name, i.e., with --follow=name -s, --sleep-interval=N with -f, sleep for approximately N seconds當使用-f引數時可以,使用-s顯示間隔 (default 1.0) between iterations. With inotify and --pid=P, check process P at least once every N seconds. -v, --verbose always output headers giving file names --help display this help and exit --version output version information and exit If the first character of K (the number of bytes or lines) is a `+', print beginning with the Kth item from the start of each file, otherwise, print the last K items in the file. K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.
tail命令引數和head概念差不多,但是要注意二者的+k,-k的各自含義,tail有一個非常有意思的引數是-f引數,使用該引數可以不停的追加顯示一個檔案最新插入的內容。
例
1.追加顯示檔案內容
tail -f /tmp/orzdba_mysql.log
當檔案有新的內容插入進來時它會不停的顯示新插入的內容
2.當程式8770終止時,tail也結束
tail -f /tmp/orzdba_mysql.log --pid=8770
總結
tail -f引數經常會用來監控日誌檔案的顯示,結合實際需要可以充分發揮它的作用
備註: 作者:pursuer.chen 部落格:http://www.cnblogs.com/chenmh 本站點所有隨筆都是原創,歡迎大家轉載;但轉載時必須註明文章來源,且在文章開頭明顯處給明連結。 《歡迎交流討論》 |