Linux中head與tail命令

2021-10-03 20:49:58 字數 1720 閱讀 7393

本來以為很簡單的兩個命令,今天被老師一問就傻掉了.網上查了一大堆都太糙了,而且經過我實踐證明都不是很嚴謹.

所以寫個帖子,盡量把他們解釋得清楚.

首先看看官方給的文件

我簡單的翻譯了一下

使用方法: head [option] [file]

列印前十行到標準輸出

如果是多個檔案,會在每個檔案最開始先列印檔案名以分隔

with no file, or when file is -, read standard input.

-c [-]num 列印每個檔案的前num個位元組

如果有』-『的話,那麼就是列印所有內容除了最後的num個位元組.

-n [-]num  列印每個檔案的前num行

如果有』-'的話,那麼就是列印所有內容除了最後的num行.

-q 多檔案中列印檔案並不列印檔案名稱

-v 列印檔案名+內容(預設單檔案不顯示檔名)

其實這樣已經很清楚了.

以防萬一,***會給出幾個樣例來理解.

這是樣例文字

one

teothree

four

five

sixseven

eight

nine

執行結果

one

two

three

one

teothree

four

five

six

one

t#可見,這裡換行也算是乙個位元組的

然後就是tail了,總的來說,tail和head只是略有不同.文件我就不再放出來了.直接給使用樣例吧.

樣本還是前面的九個字母.

nine

#這裡只輸出了nine,文字結束最後有乙個標誌字元換行佔一位.

#從第5個位元組開始顯示

twothree

four

five

sixseven

eight

nine

這裡輸出了空行,可以說驗證了我上面的觀點:換行也算是乙個位元組的.

#從第3行開始顯示

three

four

five

sixseven

eight

nine

示例結束,總結一下:head和tail總得用法是一樣的

格式為:head/tail [option] [file]

在數字前面沒有』+『或』-'的時候都可以解釋為:從(正數/倒數)第n行開始列印.

而head -n -n代表最後n行不顯示

tail +n +n代表從第n行顯示至文末

按位元組的話也是一樣

head -c -n代表最後n個位元組不顯示

tail -c +n代表從第n個位元組顯示

如果你已經看完的話,思考一下:直接瀏覽文字的第1001行到1200行的操作命令是什麼呢?(通過head和tail)

linux中tail和head指令

1.如果你只想看檔案的前5行,可以使用head命令,如 head 5 etc passwd 2.如果你想檢視檔案的後10行,可以使用tail命令,如 tail 10 etc passwd 或 tail n10 etc passwd tail f var log messages 引數 f使tail不...

linux的head和tail命令

1 head 工具,顯示檔案內容的前幾行 head 是顯示乙個檔案的內容的前多少行 用法比較簡單 de head n 行數值 檔名 de 比如我們顯示 etc profile的前10行內容,應該是 de root localhost head n 10 etc profile de 2 tail 工...

linux命令學習head和tail

linux命令head和tail是一對 more和less是一對。head和tail 乙個頭,乙個尾。標誌 b number 從 number 變數表示的 512 位元組塊位置開始讀取指定檔案。c number 從 number 變數表示的位元組位置開始讀取指定檔案。f 如果輸入檔案是常規檔案或如果...