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

