新Linux入門|headコマンドでファイルの先頭を確認しよう!

 Linuxで設定ファイルやログを確認するとき、「ファイルの最初の部分だけ見たい」と思うことはありませんか?
そんなときに役立つのが headコマンド です。

headコマンドは、ファイルの先頭から指定した行数またはバイト数だけを表示するコマンドで、
内容をすべて開かずにサッと確認できる便利なツールです。
デフォルトでは先頭10行を表示します。

📘 headコマンドの概要

 headコマンドは、ファイル全体を表示せず、冒頭の一部だけを素早くチェックしたいときに使うコマンドです。
たとえば設定ファイルやログファイルの冒頭部分だけ確認したい場合に最適です。

📘 コマンド書式

head [オプション] ファイル名

📗 例

[suzuki@AlmaLinux ~]$ head /etc/passwd

このコマンドは、/etc/passwd ファイルの先頭10行を表示します。

⚙️ 主なオプションと説明

オプション説明
-n NUM表示する行数を指定します(デフォルトは10行)。
-c NUM表示するバイト数を指定します。
-q複数ファイルを指定した際に、ファイル名の見出しを表示しません。

💡 ポイント

  • -n で「何行表示するか」を指定。
  • -c で「何バイト表示するか」を指定。
  • 複数ファイルを指定した際にファイル名を非表示にする場合は -q を利用します。

🧪 使用例と出力解説

① /etc/passwd の先頭10行を表示(デフォルト動作)

[suzuki@AlmaLinux ~]$ head /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin

💬 ファイルの先頭10行が表示されます。

② 先頭20行を表示する

[suzuki@AlmaLinux ~]$ head -n 20 /etc/passwd

💬 -n で行数を指定することで、冒頭20行を表示できます。
設定ファイルの内容を多めに確認したいときに便利です。

③ ファイルの先頭100バイトだけ表示する

[suzuki@AlmaLinux ~]$ head -c 100 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nol

💬 -c を使うと「行」ではなく「バイト単位」で内容を確認できます。
ファイルサイズやフォーマットの冒頭構造を確認したい場合に便利です。

④ 複数ファイルを対象に先頭10行を表示(ファイル名を非表示)

[suzuki@AlmaLinux ~]$ head -q /etc/*.conf
# Please see http://dev.maxmind.com/geoip/geoipupdate/ for instructions
# on setting up geoipupdate, including information on how to download a
# pre-filled GeoIP.conf file.
(省略)
...

💬 -q オプションを使うことで、複数ファイルを指定してもファイル名が表示されず、内容だけ確認できます。

⑤ psコマンドの結果を先頭5行だけ表示

[suzuki@AlmaLinux ~]$ ps aux | head -5
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.3 193968  7032 ?        Ss   21:15   0:01 /usr/lib/systemd/systemd
root         2  0.0  0.0      0     0 ?        S    21:15   0:00 [kthreadd]
root         4  0.0  0.0      0     0 ?        S<   21:15   0:00 [kworker/0:0H]
root         5  0.0  0.0      0     0 ?        S    21:15   0:00 [kworker/u2:0]

💬 パイプ( | )を使うと、コマンドの出力をheadで制限できます。
ログが長い場合でも、冒頭だけすぐに確認できます。

⑥ /etc/passwd の11~20行目を表示(headとtailの組み合わせ)

[suzuki@AlmaLinux ~]$ head -20 /etc/passwd | tail
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
libstoragemgmt:x:998:995:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
colord:x:997:994:User for colord:/var/lib/colord:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
saned:x:996:993:SANE scanner daemon user:/usr/share/sane:/sbin/nologin

💬 headで先頭20行まで抽出し、さらにtailで下10行を表示することで、任意の範囲の行を取り出せます。

✅ まとめ

  • headコマンド は、ファイルの先頭部分を表示する基本コマンド
  • デフォルトは10行表示。-n で行数、-c でバイト数を指定できる。
  • 複数ファイルを扱うときは -q オプションで出力をすっきりさせる。
  • パイプと組み合わせることで、他のコマンド出力の一部だけを簡単に確認できる。

💬ログ確認や設定ファイルのチェックに欠かせない便利コマンドです。
まずは head /etc/passwd を実行して、どんな情報が表示されるか試してみましょう!