主頁 > 知識(shí)庫 > 一天一個(gè)shell命令 linux文本操作系列-head,tail命令詳解

一天一個(gè)shell命令 linux文本操作系列-head,tail命令詳解

熱門標(biāo)簽:鐵路電話系統(tǒng) AI電銷 百度競(jìng)價(jià)排名 呼叫中心市場(chǎng)需求 地方門戶網(wǎng)站 Linux服務(wù)器 網(wǎng)站排名優(yōu)化 服務(wù)外包

head命令中文介紹:

用法:head [選項(xiàng)]... [文件]...
將每個(gè)指定文件的頭10 行顯示到標(biāo)準(zhǔn)輸出。
如果指定了多于一個(gè)文件,在每一段輸出前會(huì)給出文件名作為文件頭。
如果不指定文件,或者文件為"-",則從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù)。

長(zhǎng)選項(xiàng)必須使用的參數(shù)對(duì)于短選項(xiàng)時(shí)也是必需使用的。
 -c, --bytes=[-]K	顯示每個(gè)文件的前K 字節(jié)內(nèi)容;
			如果附加"-"參數(shù),則除了每個(gè)文件的最后K字節(jié)數(shù)據(jù)外
			顯示剩余全部?jī)?nèi)容
 -n, --lines=[-]K	顯示每個(gè)文件的前K 行內(nèi)容;
			如果附加"-"參數(shù),則除了每個(gè)文件的最后K 行外顯示
			剩余全部?jī)?nèi)容
 -q, --quiet, --silent	不顯示包含給定文件名的文件頭
 -v, --verbose		總是顯示包含給定文件名的文件頭
   --help		顯示此幫助信息并退出
   --version		顯示版本信息并退出

K 后面可以跟乘號(hào):
b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,
GB 1000*1000*1000, G 1024*1024*1024, 對(duì)于T, P, E, Z, Y 同樣適用。

tail命令詳解

用法:tail [選項(xiàng)]... [文件]...
顯示每個(gè)指定文件的最后10 行到標(biāo)準(zhǔn)輸出。
若指定了多于一個(gè)文件,程序會(huì)在每段輸出的開始添加相應(yīng)文件名作為頭。
如果不指定文件或文件為"-" ,則從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù)。

長(zhǎng)選項(xiàng)必須使用的參數(shù)對(duì)于短選項(xiàng)時(shí)也是必需使用的。
 -c, --bytes=K		輸出最后K 字節(jié);另外,使用-c +K 從每個(gè)文件的
			第K 字節(jié)輸出
 -f, --follow[={name|descriptor}]
		即時(shí)輸出文件變化后追加的數(shù)據(jù)。
			-f, --follow 等于--follow=descriptor 
 -F		即--follow=name --retry
 -n, --lines=K	輸出最后K 行,代替最后10 行;使用-n +K 從每個(gè)文件的第K 字節(jié)輸出
   --max-unchanged-stats=N
			使用--follow=name, 重新打開一個(gè)在N(默認(rèn)為5)
				次迭代后沒有改變大小的文件來看它是否被解除連
				接或重命名(這是循環(huán)日志文件的通常情況)。
				由于有inotify,這個(gè)選項(xiàng)很少使用。
   --pid=PID		同 -f 一起使用,當(dāng) PID 所對(duì)應(yīng)的進(jìn)程死去后終止
 -q, --quiet, --silent	不輸出給出文件名的頭
   --retry		即使目標(biāo)文件不可訪問依然試圖打開;在與參數(shù)
			--follow=name 同時(shí)使用時(shí)常常有用。
 -s, --sleep-interval=N  with -f, sleep for approximately N seconds
               (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		顯示此幫助信息并退出
   --version		顯示版本信息并退出

如果字節(jié)數(shù)或行數(shù)K 的第一個(gè)字符是"+",輸出從文件開始第K 個(gè)項(xiàng)目,否則輸出文件
最后K 個(gè)項(xiàng)目。K 可以使用一下幾種單位之一:
b 512,kB 1000,K 1024,MB 1000*1000,M 1024*1024,
GB 1000*1000*1000,G 1024*1024*1024,以及T,P,E,Z,Y。

如果您希望即時(shí)追查一個(gè)文件的有效名稱而非描述內(nèi)容(例如循環(huán)日志),默認(rèn)
的程序動(dòng)作并不如您所愿。在這種場(chǎng)合可以使用--follow=name 選項(xiàng),它會(huì)使
tail 定期追蹤打開給定名稱的文件,以確認(rèn)它是否被刪除或被其它某些程序重新創(chuàng)建過。

head:  打印文件的前10行(默認(rèn))
tail:     打印文件的后10行(默認(rèn))

如果你是個(gè)典型的開發(fā)或者部署人員,是不是覺得開始親切起來。我們平時(shí)用的最多的命令

$tail -f  catalina.out 

$head

實(shí)例:

1. 打印head.txt, tail.txt的前10行

$head head.txt tail.txt

復(fù)制代碼 代碼如下:

 ==> head.txt ==
head.txt內(nèi)容

==> tail.txt ==

tail.txt內(nèi)容

2.  打印 1K的內(nèi)容

$head –c1K head.txt

3.  打印前5行內(nèi)容

$head -n5 head.txt

4.  打印出最后5行之外的所有行

$head -n -5 head.txt

這里-5表示負(fù)5
解讀 --help

復(fù)制代碼 代碼如下:

用法:head [選項(xiàng)]... [文件]...
將每個(gè)指定文件的頭10 行顯示到標(biāo)準(zhǔn)輸出。
 如果指定了多于一個(gè)文件,在每一段輸出前會(huì)給出文件名作為文件頭。
 如果不指定文件,或者文件為"-",則從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù)。
長(zhǎng)選項(xiàng)必須使用的參數(shù)對(duì)于短選項(xiàng)時(shí)也是必需使用的。
-c, --bytes=[-]K         顯示每個(gè)文件的前K 字節(jié)內(nèi)容;
 如果附加"-"參數(shù),則除了每個(gè)文件的最后K字節(jié)數(shù)據(jù)外
 顯示剩余全部?jī)?nèi)容
-n, --lines=[-]K           顯示每個(gè)文件的前K 行內(nèi)容;
 如果附加"-"參數(shù),則除了每個(gè)文件的最后K 行外顯示
 剩余全部?jī)?nèi)容
-q, --quiet, --silent       不顯示包含給定文件名的文件頭
-v, --verbose               總是顯示包含給定文件名的文件頭
--help                          顯示此幫助信息并退出
--version                     顯示版本信息并退出
K 后面可以跟乘號(hào): 
b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,
 GB 1000*1000*1000, G 1024*1024*1024, 對(duì)于T, P, E, Z, Y 同樣適用。

解讀:

這里唯一注意:如果不指定文件,或者文件為"-",則從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù)。

$tail

實(shí)例:

1.打印一個(gè)文件最后10行

$tail tail.txt

2.跟蹤日志,打印文件最后幾行,并且保持讀取追加數(shù)據(jù)

tail -f tail.txt

解讀--help

用法:tail [選項(xiàng)]... [文件]... 
顯示每個(gè)指定文件的最后10 行到標(biāo)準(zhǔn)輸出。 
 若指定了多于一個(gè)文件,程序會(huì)在每段輸出的開始添加相應(yīng)文件名作為頭。 
 如果不指定文件或文件為"-" ,則從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù)。 
長(zhǎng)選項(xiàng)必須使用的參數(shù)對(duì)于短選項(xiàng)時(shí)也是必需使用的。 
-c, --bytes=K      輸出最后K 字節(jié);另外,使用-c +K 從每個(gè)文件的第K 字節(jié)輸出 
-f, --follow[={name|descriptor}]  即時(shí)輸出文件變化后追加的數(shù)據(jù)。 
-F            即--follow=name --retry 
-n          --lines=K 輸出最后K 行,代替最后10 行;
span style="color: #000000">-n +K  從每個(gè)文件的第K 字節(jié)輸出
--max-unchanged-stats=N
     使用--follow=name, 重新打開一個(gè)在N(默認(rèn)為5) 次迭代后沒有改變大小的文件來看它是否被解除連 接或重命名(這是循環(huán)日志文件的通常情況)。 由于有inotify,這個(gè)選項(xiàng)很少使用。 
--pid=PID       同 -f 一起使用,當(dāng) PID 所對(duì)應(yīng)的進(jìn)程死去后終止 
-q              --quiet, --silent      不輸出給出文件名的頭 
--retry           即使目標(biāo)文件不可訪問依然試圖打開;在與參數(shù) 
--follow=name       同時(shí)使用時(shí)常常有用。 
-s             --sleep-interval=N with -f, sleep for approximately N seconds (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 顯示此幫助信息并退出 
             --version 顯示版本信息并退出 
 如果字節(jié)數(shù)或行數(shù)K 的第一個(gè)字符是"+",輸出從文件開始第K 個(gè)項(xiàng)目,否則輸出文件 
 最后K 個(gè)項(xiàng)目。K 可以使用一下幾種單位之一: 
b 512,kB 1000,K 1024,MB 1000*1000,M 1024*1024, 
 GB 1000*1000*1000,G 1024*1024*1024,以及T,P,E,Z,Y。

解讀:

1. 區(qū)別-f 和-F

借網(wǎng)上一例子:
窗口1 輸入 

$while [ "true" ] ; do date >>test.log; sleep 1 ; done;


#每隔一秒傳入一個(gè)日期到test.log

窗口2 輸入

$tail -f test.log

窗口3 輸入

$rm test.log

此時(shí)窗口2 則停止打印,而test.log已經(jīng)重新生成

如果采用-F的形式,也會(huì)重新生成一個(gè)新的test.log,但會(huì)自動(dòng)重新讀取 

收尾

tail和head是兩個(gè)非常常用的命令,熟練掌握方便查看文件內(nèi)容。兩個(gè)很簡(jiǎn)單,也很相似,所以放在一起寫出來。

您可能感興趣的文章:
  • 一天一個(gè)shell命令 linux文本內(nèi)容操作系列-awk命令詳解
  • 一天一個(gè)shell命令 linux文本內(nèi)容操作系列-cut命令詳解
  • 使用Linux正則表達(dá)式靈活搜索文件中的文本
  • 一天一個(gè)shell命令 linux文本操作系列-touch命令用法
  • 一天一個(gè)shell命令 linux文本操作系列-diff命令詳解
  • 一天一個(gè)shell命令 linux文本內(nèi)容操作系列-grep命令詳解
  • Linux使用文本編輯器vi常用命令
  • 詳解Linux文本文件與WIN文本文件換行格式轉(zhuǎn)換命令
  • 一天一個(gè)shell命令 linux文本操作系列-wc命令詳解
  • Linux中查看文本的小技巧(超實(shí)用?。?/li>

標(biāo)簽:仙桃 湖南 蘭州 銅川 衡水 湘潭 崇左 黃山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《一天一個(gè)shell命令 linux文本操作系列-head,tail命令詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266