Linuxコマンド一覧

headコマンド|ファイルの先頭だけを表示する

__ __ _ _____
\ \ / /__| |_|_ _|__ _ __ _ __ ___
\ \ /\ / / _ \ '_ \| |/ _ \ '__| '_ ` _ \
\ V V / __/ |_) | | __/ | | | | | |
\_/\_/ \___|_.__/|_|\___|_| |_| |_| |_
 
head を試すためのサンドボックスです。実機のファイルには影響しません。
user@webterm:~/project$
 

head はファイルの先頭だけを取り出すコマンドです。既定の10行、-n での行数指定、複数ファイルを渡したときの見出しを、ブラウザ上のターミナルで打ちながら確認できます。

最終更新: 2026-09-05

書式

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

ファイルの先頭だけを出します。 行数を指定しなければ10行です。

まず打ってみる

このページのターミナルには、30行のログが置いてあります。

$ head logs/app.log
line 01
line 02
line 03
line 04
line 05
line 06
line 07
line 08
line 09
line 10

30行あるうち、先頭の10行だけが出ました。 これが head の既定の動きです。

行数を指定する

-n に数を渡すと、その行数だけになります。

$ head -n 3 logs/app.log
line 01
line 02
line 03

CSV のように、先頭に見出しの行があるファイルでよく使います。

$ head -n 2 users.csv
id,name
1,ada

中身の形を確かめるだけなら、これで十分です。

複数のファイルを渡す

2つ以上渡すと、どのファイルの中身かが見出しとして入ります。

$ head -n 2 users.csv notes.txt
==> users.csv <==
id,name
1,ada

==> notes.txt <==
buy milk
call the bank

実務での使いどころ

head は、中身を全部読まずに形だけ確かめるために打ちます。

場面打ち方
CSV の列名を確かめるhead -n 1 users.csv
ログの書き出しを見るhead -n 20 app.log
長い一覧の先頭だけ見るls -l | head
ファイルの形式を推測するhead -c 100 data.bin

-c を使うと、行ではなくバイト数で切れます。

$ head -c 20 logs/app.log
line 01
line 02
line

つまずきやすいところ

古いログを見るときは head、新しいログを見るときは tail です。 ログは下に追記されていくので、いま起きていることは末尾にあります。 書き出しの状況を知りたいときだけ head を使ってください。

-n の数字は行数であって、行番号ではありません。 head -n 3 は「3行目まで」であって「3行目だけ」ではありません。

パイプの前に置くと意味が変わります。 head file | grep x はファイルの先頭から探し、grep x file | head は一致した行の先頭を出します。 どちらを絞りたいのかで並べる順が変わります。

手を動かして覚える

webterm.appこのサイト

learn.webterm.app別のサイト

>_WEBTERM LEARN

WebTerm Learn|1つのコマンドから、使える状態へ

コマンドは単体で覚えるより、実際の作業の流れの中で使うほうが身につきます。順番に積み上げていくコースがあります。

コースを見る

関連するコマンド

tail / less / cat / wc

よくある質問

head は何行表示しますか?
既定は先頭10行です。-n で行数を指定できます。
head と cat はどう使い分けますか?
cat は全部出すので、長いファイルでは画面から流れて消えます。中身の形だけ確かめたいときは head のほうが速く、安全です。
末尾を見たいときはどうしますか?
tail を使います。head が先頭、tail が末尾で、オプションの書き方は同じです。
他のコマンドの出力を head に渡せますか?
パイプでつなげます。ls -l | head のように書くと、長い一覧の先頭だけを見られます。
行ではなく文字数で切れますか?
-c を使うと、指定したバイト数だけを取り出します。行の途中でも切れます。