Linuxのheadコマンドとは?ファイル先頭行を表示する方法を初心者向けに解説
生徒
「先生、Linuxでファイルの最初の数行だけを見たいときはどうすればいいですか?」
先生
「その場合はLinuxのheadコマンドを使うと便利です。headはファイルの先頭部分だけを簡単に表示できます。」
生徒
「先頭行だけじゃなくて、最初の10行や20行も見られるんですか?」
先生
「もちろんです。オプションをつければ、行数を自由に指定できます。初心者でもすぐ使えますよ。」
Linuxを初めて学ぶ人や、 OS・プロセス・メモリ管理・仮想マシン・コンテナの仕組みを図解で理解したい人におすすめの定番書籍です。
試して理解 Linuxのしくみを見る※ Amazonアソシエイト広告リンク
1. headコマンドとは?
headコマンドは、Linux(リナックス)でファイルの先頭部分を表示する基本コマンドです。ログファイルやテキストファイルの内容を確認したいときに使われます。デフォルトではファイルの最初の10行を表示します。
Windowsの「メモ帳で開く」や「先頭だけプレビューする」機能に似ていますが、headはターミナル上で高速に確認できるのが特徴です。
2. headコマンドの基本的な使い方
まずは基本的な使い方です。ファイル名を指定すると先頭10行が表示されます。
head sample.txt
行1
行2
行3
行4
行5
行6
行7
行8
行9
行10
このように、簡単にファイルの先頭部分を確認できます。
3. 表示する行数を指定する方法
デフォルトは10行ですが、-nオプションを使うと任意の行数を表示できます。
head -n 5 sample.txt
行1
行2
行3
行4
行5
これでファイルの最初の5行だけを表示できます。初心者でも簡単に操作できます。
4. 複数ファイルの先頭行をまとめて表示する
複数のファイルを指定すると、各ファイルの先頭行がまとめて表示されます。
head file1.txt file2.txt
==> file1.txt <==
行1
行2
行3
==> file2.txt <==
行1
行2
行3
ファイル名ごとに見やすく表示されるので、ログ確認などに便利です。
5. バイト単位で先頭部分を表示する方法
-cオプションを使うと、行ではなくバイト単位で先頭部分を表示できます。バイナリファイルや特殊文字を含むファイルの確認に便利です。
head -c 20 sample.txt
行1の内容行2の
この例では、ファイルの最初の20バイトだけを表示しています。
6. tailコマンドとの違い
似たコマンドにtailがあります。tailはファイルの最後の部分を表示するのに対し、headは先頭部分を表示します。ログの最新情報を確認したい場合はtail、最初の設定内容や冒頭を確認したい場合はheadが適しています。
tail -n 5 sample.txt
行6
行7
行8
行9
行10
7. 実際に使うときの注意点
headコマンドは非常に便利ですが、以下の点に注意してください。
- 大きなファイルでも最初の行だけを読み込むので安全です。
- ファイルが存在しない場合はエラーになります。
- パイプ(|)と組み合わせると他のコマンドの出力を先頭だけ確認できます。
dmesg | head -n 5
[ 0.000000] Linux version 5.15.0
[ 0.000001] Command line: BOOT_IMAGE=/vmlinuz
[ 0.000002] KERNEL supported cpus:
[ 0.000003] x86
[ 0.000004] BIOS-provided physical RAM map:
8. headコマンドを使った便利な活用例
headコマンドはログ確認やプログラムの出力チェックに役立ちます。たとえば、CSVファイルの先頭だけを確認して列名をチェックする場合などです。
head -n 3 data.csv
名前,年齢,性別
田中,30,男
佐藤,25,女
このように、ファイルの先頭部分だけを素早く確認できるので、作業効率が格段に上がります。
LPICレベル1の合格を目指している人や、 Linuxコマンド・シェル・ネットワーク・セキュリティの試験対策を効率よく進めたい人におすすめの定番問題集です。
Linux教科書 LPICレベル1 スピードマスター問題集を見る※ Amazonアソシエイト広告リンク
まとめ
本記事では、Linuxのheadコマンドについて、初心者でもわかりやすく解説しました。headコマンドはファイルの先頭行を表示するための基本コマンドであり、ログファイルやテキストファイルの内容を確認したいときに非常に便利です。デフォルトでは10行を表示しますが、-nオプションを使えば表示する行数を自由に変更できます。また、複数ファイルを同時に確認したり、-cオプションでバイト単位の先頭部分を確認することも可能です。
さらに、headコマンドはtailコマンドと組み合わせて使うことで、ファイルの先頭と末尾の両方を効率的に確認できます。パイプ(|)を活用すれば、他のコマンドの出力結果から先頭部分だけを抽出して確認することもでき、システム管理やログ解析の現場で大きな効果を発揮します。
具体的な使い方の例としては、次の通りです。まず、基本的なファイル先頭10行の表示は次のように行います。
head sample.txt
行1
行2
行3
行4
行5
行6
行7
行8
行9
行10
任意の行数を表示する場合は、-nオプションを使います。たとえば先頭5行だけを確認する場合は以下の通りです。
head -n 5 sample.txt
行1
行2
行3
行4
行5
複数ファイルの先頭行をまとめて表示することも可能で、ログファイルの冒頭部分を比較する際に便利です。
head file1.txt file2.txt
==> file1.txt <==
行1
行2
行3
==> file2.txt <==
行1
行2
行3
また、-cオプションを使えばバイト単位でファイルの先頭部分を確認でき、特殊文字やバイナリデータのチェックにも役立ちます。
head -c 20 sample.txt
行1の内容行2の
headコマンドを理解して活用することで、Linuxのファイル操作やログ解析が格段に効率化されます。特に初心者にとっては、ファイルの冒頭を確認するだけで作業の流れを把握できるため、学習や開発作業のスピードが向上します。
生徒
「先生、headコマンドを使うとファイルの先頭だけを確認できることがよくわかりました。でも、tailとの違いはどう覚えればいいですか?」
先生
「tailはファイルの最後の部分、headは先頭部分を表示する、と覚えておくと簡単です。ログの最新情報はtail、設定内容や冒頭の内容を確認するときはhead、と使い分けましょう。」
生徒
「なるほど。オプションを使うと行数やバイト数も自由に指定できるので、用途に合わせて使えますね。」
先生
「その通りです。さらに複数ファイルやパイプと組み合わせることで、より効率的に作業できます。例えば、dmesg | head -n 5とすればシステムメッセージの先頭だけを確認できます。」
生徒
「CSVファイルの先頭だけを見たいときも同じですね。列名の確認などにも便利です。」
先生
「その通り。headコマンドを理解すれば、Linuxのファイル操作が格段に楽になります。初心者でもまずは先頭の数行を確認するところから始めると、操作に慣れるのが早いです。」