Linux中的head與tail命令及用法詳解
head 與 tail 就像它的名字一樣的淺顯易懂,它是用來顯示開頭或結(jié)尾某個數(shù)量的文字區(qū)塊,head 用來顯示檔案的開頭至標(biāo)準(zhǔn)輸出中,而 tail 想當(dāng)然爾就是看檔案的結(jié)尾。
??head與tail命令詳解
1. 命令簡介
head:默認(rèn)顯示文件的 前 10 行 內(nèi)容,可指定行數(shù)或字節(jié)數(shù)。tail:默認(rèn)顯示文件的 后 10 行 內(nèi)容,可實時跟蹤文件更新,常用于查看日志。
2. 基本語法
head [選項] [文件...] tail [選項] [文件...]
- 文件:一個或多個目標(biāo)文件,若省略則從標(biāo)準(zhǔn)輸入讀取。
- 輸出結(jié)果:打印到標(biāo)準(zhǔn)輸出,可配合
>、>>、管道使用。
3. 常用選項
head
| 選項 | 說明 |
|---|---|
-n <行數(shù)> | 顯示前 N 行 |
-c <字節(jié)數(shù)> | 顯示前 N 字節(jié) |
-q | 安靜模式,多文件時不顯示文件名 |
-v | 總是顯示文件名(即使只有一個文件) |
tail
| 選項 | 說明 |
|---|---|
-n <行數(shù)> | 顯示最后 N 行 |
-c <字節(jié)數(shù)> | 顯示最后 N 字節(jié) |
-f | 持續(xù)跟蹤文件增長(實時輸出新內(nèi)容) |
-F | 類似 -f,但文件被替換時自動重新打開(常用于日志) |
-q | 多文件時不顯示文件名 |
-v | 總是顯示文件名 |
4. 權(quán)限要求
- 用戶必須對文件有 讀權(quán)限 ® 才能使用
head或tail。 - 若從管道讀取數(shù)據(jù),則不依賴文件權(quán)限。
5. 使用示例
5.1head基本用法
head file.txt
?? 顯示 file.txt 的前 10 行。
head -n 20 file.txt
?? 顯示前 20 行。
head -c 100 file.txt
?? 顯示前 100 個字節(jié)內(nèi)容。
head file1 file2
?? 顯示多個文件的前 10 行。
5.2tail基本用法
tail file.txt
?? 顯示 file.txt 的最后 10 行。
tail -n 50 file.txt
?? 顯示最后 50 行。
tail -c 200 file.txt
?? 顯示最后 200 字節(jié)內(nèi)容。
tail -f /var/log/messages
?? 實時跟蹤日志文件的更新(常用)。
tail -F /var/log/nginx/access.log
?? 即使日志文件被輪轉(zhuǎn)(替換),也會繼續(xù)跟蹤新文件。
6. 運維實戰(zhàn)場景
場景 A:查看配置文件開頭
head -n 20 /etc/passwd
?? 查看系統(tǒng)用戶列表的前 20 行。
場景 B:快速定位日志結(jié)尾
tail -n 100 /var/log/syslog
?? 查看最近的 100 行日志。
場景 C:實時跟蹤日志
tail -f /var/log/nginx/error.log
?? 調(diào)試 Nginx 錯誤日志。
場景 D:多文件日志合并跟蹤
tail -f /var/log/nginx/*.log
?? 同時跟蹤多個日志文件。
場景 E:查看二進(jìn)制文件頭信息
head -c 512 /bin/bash | hexdump -C
?? 查看 ELF 文件頭。
7. 注意事項
- 默認(rèn)行數(shù):
head和tail默認(rèn)輸出 10 行。 - 大文件性能:
tail -f會保持進(jìn)程掛起,長期使用需注意資源占用。 - 日志輪轉(zhuǎn)問題:使用
tail -f時,如果日志被切割替換,可能會“失效”,推薦tail -F。 - 字節(jié)模式風(fēng)險:
-c按字節(jié)截取可能會破壞多字節(jié)字符(如 UTF-8 中文)。
8. 小結(jié)
head:適合 查看文件開頭,常用于配置文件、數(shù)據(jù)文件的結(jié)構(gòu)檢查。tail:適合 查看文件結(jié)尾或?qū)崟r更新,是日志分析必備工具。- 運維中最常用的是:
head -n(查看開頭幾行)tail -n(查看結(jié)尾幾行)tail -f/tail -F(實時日志跟蹤)
到此這篇關(guān)于Linux中的head與tail命令詳解的文章就介紹到這了,更多相關(guān)linux head與tail命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
shell實現(xiàn)FizzBuzzWhizz問題示例(拉勾網(wǎng)面試題)
這篇文章主要介紹了shell實現(xiàn)FizzBuzzWhizz問題示例(拉勾網(wǎng)面試題),需要的朋友可以參考下2014-05-05
Linux下使用Shell腳本實現(xiàn)ftp的自動上傳下載的代碼小結(jié)
如何實現(xiàn)在ftp自動上傳下載文件腳本呢?想必還有很多朋友都不太了解吧,下面是ftp自動上傳下載文件腳本方法,希望對朋友們有些幫助2013-02-02

