head — 顯示檔案的開頭部分

顯示檔案的前幾行(預設前 10 行)。

語法

head [選項] [檔案...]

常用選項

選項 說明 範例
-n NUM, --lines=NUM 顯示前 NUM 行(預設 10) head -n 20 file.txt
-c NUM, --bytes=NUM 顯示前 NUM 個位元組 head -c 1K file.bin
-n -NUM 顯示除了最後 NUM 行以外的所有行 head -n -5 file.txt
-v, --verbose 在輸出前顯示檔案名稱 head -v file1.txt file2.txt
-q, --quiet 不顯示檔案名稱(多個檔案時) head -q file1.txt file2.txt

使用範例

範例 1:查看前 10 行(預設)

不加選項,顯示檔案的前 10 行,適合快速預覽文字檔。

$ head /var/log/syslog
May 20 00:00:01 host rsyslogd: [origin ...] start
May 20 00:00:01 host kernel: Linux version 5.15.0...
範例 2:指定行數

使用 -n 指定要顯示的行數。

$ head -n 5 /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
範例 3:管線中取前 N 個結果

搭配 sort 取出最大的 5 個項目,是非常常用的組合。

$ du -sh /var/* 2>/dev/null | sort -rh | head -5
12G	/var/lib
2.3G	/var/log
850M	/var/cache
範例 4:顯示多個檔案

同時查看多個檔案的開頭,會在每個檔案前顯示檔名。

$ head -n 3 /etc/hostname /etc/os-release
==> /etc/hostname <==
my-server

==> /etc/os-release <==
NAME="Ubuntu"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
範例 5:排除最後幾行

使用 -n -N 顯示除了最後 N 行以外的所有行。

$ head -n -3 file.txt
(顯示除最後 3 行以外的所有行)

常見錯誤與排錯

head: cannot open 'filename' for reading: No such file or directory
原因
指定的檔案不存在。
解法
確認檔案路徑與名稱是否正確。

延伸閱讀