headコマンドとは、Linuxでファイルの先頭部分を表示するためのコマンドです。
Linuxでは、ログファイル、設定ファイル、CSVファイル、テキストファイルなど、さまざまなファイルの中身を確認しながら作業します。
ファイル全体を表示したい場合はcatコマンド、長いファイルをスクロールして確認したい場合はlessコマンドを使います。
一方で、「ファイルの最初の数行だけ見たい」という場合に便利なのがheadコマンドです。
headコマンドを使うと、ファイルの先頭から指定した行数だけを表示できます。
この記事では、Linux初心者向けにheadコマンドの意味、基本的な使い方、表示行数の指定、複数ファイルの表示、head -n、head -c、cat・less・tailとの違い、よくあるエラーまでわかりやすく解説します。
- headコマンドとは?
- headコマンドの基本的な使い方
- headコマンドは初期設定で先頭10行を表示する
- headコマンドを使う基本の流れ
- headコマンドの実行例
- head -nで表示する行数を指定する
- head -5のように短く書く方法
- headコマンドで先頭1行だけ表示する
- headコマンドで先頭20行を表示する
- head -cで先頭から指定したバイト数を表示する
- headコマンドで複数ファイルを表示する
- head -qでファイル名の見出しを表示しない
- head -vでファイル名の見出しを表示する
- headコマンドでよく使うオプション一覧
- headコマンドでCSVファイルのヘッダーを確認する
- headコマンドでログファイルの先頭を確認する
- headコマンドで設定ファイルの冒頭を確認する
- headコマンドとcatコマンドの違い
- headコマンドとlessコマンドの違い
- headコマンドとtailコマンドの違い
- headコマンドとmoreコマンドの違い
- headコマンドとgrepコマンドの組み合わせ
- headコマンドでよくあるエラー・つまずき
- headコマンドで表示できないときの確認ポイント
- headコマンドを安全に使うコツ
- headコマンドを使った練習手順
- headコマンドを覚えると何ができるようになる?
- headコマンドのよくある質問
- まとめ
headコマンドとは?
headコマンドとは、Linuxでファイルの先頭部分を表示するためのコマンドです。
headには「頭」「先頭」という意味があります。
Linuxのheadコマンドでは、指定したファイルの先頭から数行を表示できます。
たとえば、sample.txtの先頭部分を表示したい場合は、次のように実行します。
head sample.txt
初期設定では、ファイルの先頭10行が表示されます。
長いファイルの全体ではなく、冒頭部分だけを確認したいときに便利です。
headコマンドの基本的な使い方
headコマンドの基本的な使い方は、次の通りです。
head ファイル名
たとえば、access.logというファイルの先頭を表示したい場合は、次のように実行します。
head access.log
このコマンドを実行すると、access.logの先頭10行が表示されます。
headコマンドは、ファイルを編集するコマンドではありません。
ファイルの中身を確認するための閲覧用コマンドです。
headコマンドは初期設定で先頭10行を表示する
headコマンドは、行数を指定しない場合、ファイルの先頭10行を表示します。
たとえば、sample.txtに20行以上の内容がある場合でも、次のコマンドでは先頭10行だけが表示されます。
head sample.txt
ファイル全体を表示するわけではないため、長いファイルの冒頭だけをすばやく確認できます。
表示する行数を変えたい場合は、-nオプションを使います。
headコマンドを使う基本の流れ
Linux初心者は、headコマンドを単体で覚えるよりも、pwd、ls、cat、lessとセットで覚えると理解しやすいです。
基本の流れは次の通りです。
pwd
ls -l
cat sample.txt
head sample.txt
less sample.txt
まずpwdで現在いるディレクトリを確認します。
次にls -lで、対象ファイルが存在するか確認します。
短いファイルならcatで中身を確認できます。
先頭部分だけ見たい場合はheadを使います。
長いファイルをスクロールして確認したい場合はlessを使います。
この流れを覚えると、ファイルの長さや目的に合わせてコマンドを使い分けやすくなります。
headコマンドの実行例
実際にheadコマンドを使う例を見てみましょう。
まず、練習用のファイルを作成します。
echo "line1" > sample.txt
echo "line2" >> sample.txt
echo "line3" >> sample.txt
echo "line4" >> sample.txt
echo "line5" >> sample.txt
sample.txtの中身を確認するには、catを使います。
cat sample.txt
実行結果は次のようになります。
line1
line2
line3
line4
line5
headで先頭部分を表示する場合は、次のように実行します。
head sample.txt
この例ではファイルが5行しかないため、5行すべてが表示されます。
head -nで表示する行数を指定する
head -nを使うと、表示する行数を指定できます。
基本形は次の通りです。
head -n 行数 ファイル名
たとえば、sample.txtの先頭3行だけを表示したい場合は、次のように実行します。
head -n 3 sample.txt
実行結果は次のようになります。
line1
line2
line3
このように、head -nを使うと、必要な行数だけを表示できます。
head -5のように短く書く方法
headコマンドでは、環境によって次のように短く書ける場合があります。
head -5 sample.txt
これは、sample.txtの先頭5行を表示するという意味です。
ただし、初心者には次のように-nを使った書き方のほうが意味を理解しやすいです。
head -n 5 sample.txt
記事や手順書では、わかりやすさを優先してhead -n 行数 ファイル名の形で覚えるのがおすすめです。
headコマンドで先頭1行だけ表示する
ファイルの先頭1行だけを表示したい場合は、head -n 1を使います。
head -n 1 sample.txt
CSVファイルのヘッダー行だけ確認したいときなどに便利です。
たとえば、data.csvの1行目だけ確認したい場合は、次のように実行します。
head -n 1 data.csv
CSVの列名を確認したいときによく使える方法です。
headコマンドで先頭20行を表示する
ファイルの先頭20行を表示したい場合は、次のように実行します。
head -n 20 sample.txt
ログファイルや設定ファイルの冒頭に重要な情報がある場合、先頭20行程度を確認すると全体像をつかみやすいことがあります。
表示行数は、確認したい内容に合わせて変更できます。
head -cで先頭から指定したバイト数を表示する
head -cを使うと、行数ではなくバイト数を指定して表示できます。
基本形は次の通りです。
head -c バイト数 ファイル名
たとえば、sample.txtの先頭100バイトだけを表示する場合は、次のように実行します。
head -c 100 sample.txt
head -cは、ファイルの先頭部分を文字数に近い感覚で確認したい場合に使えます。
ただし、日本語のようなマルチバイト文字を含むファイルでは、バイト数と文字数が一致しないことがあります。
初心者のうちは、まずhead -nで行数を指定する使い方を覚えれば十分です。
headコマンドで複数ファイルを表示する
headコマンドでは、複数のファイルをまとめて指定できます。
たとえば、file1.txtとfile2.txtの先頭部分を表示したい場合は、次のように実行します。
head file1.txt file2.txt
複数ファイルを指定すると、どのファイルの内容かがわかるように、ファイル名の見出しが表示されることがあります。
==> file1.txt <==
line1
line2
==> file2.txt <==
line1
line2
複数のログファイルやテキストファイルの先頭をまとめて確認したい場合に便利です。
head -qでファイル名の見出しを表示しない
複数ファイルを指定したとき、ファイル名の見出しを表示したくない場合は、head -qを使います。
head -q file1.txt file2.txt
-qはquietの意味です。
複数ファイルの中身だけを連続して表示したい場合に使えます。
ただし、初心者のうちは、どのファイルの内容かわかるように通常のheadを使うほうが安全です。
head -vでファイル名の見出しを表示する
head -vを使うと、ファイルが1つだけの場合でもファイル名の見出しを表示できます。
head -v sample.txt
実行結果の例は次の通りです。
==> sample.txt <==
line1
line2
line3
どのファイルの出力なのかを明確にしたい場合に便利です。
headコマンドでよく使うオプション一覧
headコマンドで初心者が知っておきたい使い方をまとめると、次の通りです。
| コマンド | 意味 | 使う場面 |
|---|---|---|
| head file.txt | 先頭10行を表示する | ファイルの冒頭を確認したいとき |
| head -n 5 file.txt | 先頭5行を表示する | 表示行数を指定したいとき |
| head -n 1 file.txt | 先頭1行を表示する | CSVのヘッダー行を確認したいとき |
| head -c 100 file.txt | 先頭100バイトを表示する | 先頭の一部だけを確認したいとき |
| head file1 file2 | 複数ファイルの先頭を表示する | 複数ファイルをまとめて確認したいとき |
| head -q file1 file2 | ファイル名の見出しなしで表示する | 出力だけをまとめたいとき |
| head -v file.txt | ファイル名の見出し付きで表示する | 出力元を明確にしたいとき |
初心者は、まずhead、head -n、head -n 1を覚えるとよいです。
headコマンドでCSVファイルのヘッダーを確認する
headコマンドは、CSVファイルの先頭行を確認するときにも便利です。
CSVファイルでは、1行目に列名が入っていることがあります。
列名だけを確認したい場合は、head -n 1を使います。
head -n 1 data.csv
実行結果の例は次の通りです。
date,cpu,memory,status
CSVの列構成を確認してからawkやcutなどのコマンドで処理すると、作業しやすくなります。
headコマンドでログファイルの先頭を確認する
headコマンドは、ログファイルの先頭を確認するときにも使えます。
たとえば、sample.logの先頭10行を確認する場合は、次のように実行します。
head sample.log
ログファイルの先頭には、ログの開始時刻や初期状態が記録されていることがあります。
最新のログを確認したい場合は、headではなくtailを使うことが多いです。
先頭を確認したい場合はhead、末尾を確認したい場合はtailと覚えるとわかりやすいです。
headコマンドで設定ファイルの冒頭を確認する
設定ファイルの冒頭にコメントや説明が書かれていることがあります。
そのような場合、headコマンドで先頭部分だけ確認すると便利です。
head -n 20 config.txt
この例では、config.txtの先頭20行を表示します。
設定ファイル全体を確認したい場合はlessを使うと見やすいです。
less config.txt
先頭だけ確認するならhead、全体をスクロールして確認するならlessを使い分けましょう。
headコマンドとcatコマンドの違い
headコマンドとcatコマンドは、どちらもファイルの中身を表示するために使います。
ただし、表示する範囲が違います。
| コマンド | 表示範囲 | 向いている場面 |
|---|---|---|
| cat | ファイル全体 | 短いファイルをすべて確認したいとき |
| head | ファイルの先頭部分 | 冒頭だけ確認したいとき |
短いファイルを全部表示したい場合はcatが便利です。
長いファイルの先頭だけ確認したい場合はheadが向いています。
headコマンドとlessコマンドの違い
headコマンドとlessコマンドも、ファイル確認でよく使うコマンドです。
headは、ファイルの先頭部分だけを表示します。
lessは、ファイル全体をスクロールしながら確認できます。
| コマンド | 特徴 | 向いている場面 |
|---|---|---|
| head | 先頭だけをすぐ表示する | 冒頭だけ確認したいとき |
| less | スクロールしながら全体を確認する | 長いファイルをじっくり見たいとき |
ファイルの最初だけでよい場合はheadが効率的です。
全体を確認したい場合はlessを使いましょう。
headコマンドとtailコマンドの違い
headコマンドとtailコマンドは、セットで覚えると理解しやすいです。
headはファイルの先頭部分を表示します。
tailはファイルの末尾部分を表示します。
| コマンド | 表示する場所 | 例 |
|---|---|---|
| head | 先頭 | head sample.log |
| tail | 末尾 | tail sample.log |
ログファイルの最初を確認したい場合はheadを使います。
ログファイルの最新部分を確認したい場合はtailを使います。
Linux初心者は、headは先頭、tailは末尾と覚えるとわかりやすいです。
headコマンドとmoreコマンドの違い
moreコマンドは、ファイルをページ単位で表示するコマンドです。
headはファイルの先頭部分だけを表示します。
moreはファイルを上から順番にページ送りしながら表示します。
| コマンド | 特徴 |
|---|---|
| head | 先頭部分だけ表示する |
| more | ページ単位で表示する |
先頭だけでよい場合はheadを使います。
ページ送りしながら確認したい場合はmoreやlessを使います。
headコマンドとgrepコマンドの組み合わせ
headコマンドは、grepコマンドと組み合わせて使うこともあります。
たとえば、ファイルの先頭100行だけを対象にしてerrorを探したい場合は、次のように実行できます。
head -n 100 sample.log | grep error
このコマンドでは、まずhead -n 100でsample.logの先頭100行を取り出します。
その結果をgrepに渡し、errorを含む行だけを表示します。
このように、パイプを使うと複数のコマンドを組み合わせられます。
初心者のうちは、まずhead単体の使い方を覚え、慣れてきたらgrepとの組み合わせも学ぶとよいです。
headコマンドでよくあるエラー・つまずき
headコマンドを使っていると、エラーやつまずきが発生することがあります。
初心者がよく遭遇するポイントを確認しておきましょう。
No such file or directory
No such file or directoryは、「そのようなファイルやディレクトリはありません」という意味です。
存在しないファイルをheadで表示しようとすると、次のようなエラーが表示されることがあります。
head sample.txt
head: cannot open 'sample.txt' for reading: No such file or directory
この場合、sample.txtが現在のディレクトリに存在しない可能性があります。
まずpwdで現在地を確認し、lsでファイルがあるか確認しましょう。
pwd
ls -l
Permission denied
Permission deniedは、「権限がありません」という意味です。
読み取り権限がないファイルをheadで表示しようとすると、次のようなエラーが出ることがあります。
head secret.txt
head: cannot open 'secret.txt' for reading: Permission denied
この場合、現在のユーザーにそのファイルを読む権限がありません。
ls -lで権限を確認できます。
ls -l secret.txt
権限がないファイルを無理に開こうとせず、必要な権限があるか確認しましょう。
ディレクトリを指定してしまう
headコマンドは、基本的にファイルの中身を表示するためのコマンドです。
ディレクトリを指定すると、エラーになることがあります。
head documents
documentsがディレクトリの場合、ファイルのように中身を表示できません。
ディレクトリの中身を確認したい場合は、lsコマンドを使いましょう。
ls documents
表示される内容が少ない
headコマンドは、初期設定では先頭10行だけを表示します。
そのため、ファイル全体を表示したい場合には向いていません。
表示される内容が少ないと感じる場合は、-nで表示行数を増やしましょう。
head -n 50 sample.txt
ファイル全体をスクロールして確認したい場合は、lessを使います。
less sample.txt
文字化けする
headでファイルを表示したときに文字化けする場合、文字コードが原因の可能性があります。
特に日本語ファイルやWindowsで作成したファイルをLinuxで表示する場合、文字化けすることがあります。
この場合は、ファイルの文字コードや環境設定を確認する必要があります。
Linuxサーバーで扱うファイルは、UTF-8で統一しておくとトラブルを減らせます。
headコマンドで表示できないときの確認ポイント
headコマンドでファイルを表示できないときは、次のポイントを確認しましょう。
- 現在地をpwdで確認したか
- 対象ファイルが存在しているか
- ファイル名を間違えていないか
- 読み取り権限があるか
- ディレクトリを指定していないか
- 文字コードが合っているか
- 表示行数を少なく指定しすぎていないか
エラーが出たら、まず次のコマンドで現在地とファイルの状態を確認すると原因を探しやすくなります。
pwd
ls -la
headコマンドを安全に使うコツ
headコマンドは、基本的にはファイルの先頭部分を表示するだけのコマンドです。
そのため、headでファイルを表示しただけで内容が変更されることはありません。
設定ファイルやログファイルの冒頭を確認するだけなら、安全に使いやすいコマンドです。
初心者は、次の流れを習慣にすると安心です。
pwd
ls -l
head ファイル名
まずpwdで現在地を確認します。
ls -lで対象ファイルが存在するか確認します。
headでファイルの先頭部分を表示します。
必要に応じて、head -nで表示行数を指定しましょう。
headコマンドを使った練習手順
Linux初心者は、練習用ディレクトリでheadコマンドを試すと理解しやすくなります。
次の手順で練習してみましょう。
1. ホームディレクトリへ移動する
cd
2. 練習用ディレクトリを作成する
mkdir head-practice
3. 練習用ディレクトリへ移動する
cd head-practice
4. 練習用ファイルを作成する
echo "line1" > sample.txt
echo "line2" >> sample.txt
echo "line3" >> sample.txt
echo "line4" >> sample.txt
echo "line5" >> sample.txt
echo "line6" >> sample.txt
5. ファイル全体を確認する
cat sample.txt
6. 先頭10行を表示する
head sample.txt
7. 先頭3行だけ表示する
head -n 3 sample.txt
8. 先頭1行だけ表示する
head -n 1 sample.txt
この練習を行うと、headの基本表示、行数指定、先頭1行の確認までまとめて試せます。
headコマンドを覚えると何ができるようになる?
headコマンドを覚えると、Linuxでファイルの先頭部分をすばやく確認できるようになります。
具体的には、次のような作業に役立ちます。
- ファイルの先頭10行を確認する
- 表示する行数を指定する
- CSVファイルのヘッダーを確認する
- ログファイルの冒頭を確認する
- 設定ファイルの説明部分を確認する
- 複数ファイルの先頭をまとめて確認する
- grepと組み合わせて先頭部分だけ検索する
- catやlessを使う前にファイルの概要を確認する
LinuxサーバーやVPSを扱う場合、ファイルの一部だけを確認したい場面はよくあります。
headコマンドを使えるようになると、必要な情報だけを効率よく確認できます。
headコマンドのよくある質問
headコマンドは何に使いますか?
headコマンドは、Linuxでファイルの先頭部分を表示するために使います。
ログファイル、CSVファイル、設定ファイルなどの冒頭を確認したいときに便利です。
headコマンドの基本形は何ですか?
基本形は次の通りです。
head ファイル名
たとえば、sample.txtの先頭を表示する場合は次のように実行します。
head sample.txt
headコマンドは何行表示しますか?
行数を指定しない場合、headコマンドは初期設定で先頭10行を表示します。
表示行数を変えたい場合は、-nオプションを使います。
headで表示行数を指定するにはどうしますか?
表示行数を指定するには、head -nを使います。
head -n 5 sample.txt
この例では、sample.txtの先頭5行を表示します。
headで先頭1行だけ表示するにはどうしますか?
先頭1行だけ表示するには、head -n 1を使います。
head -n 1 sample.txt
CSVファイルのヘッダー行を確認したいときによく使えます。
head -cとは何ですか?
head -cは、ファイルの先頭から指定したバイト数だけを表示するためのオプションです。
head -c 100 sample.txt
この例では、sample.txtの先頭100バイトを表示します。
headとcatの違いは何ですか?
catはファイル全体を表示します。
headはファイルの先頭部分だけを表示します。
短いファイルをすべて見たい場合はcat、先頭だけ確認したい場合はheadが便利です。
headとlessの違いは何ですか?
headはファイルの先頭部分だけを表示します。
lessはファイル全体をスクロールしながら確認できます。
冒頭だけ見たい場合はhead、全体を見たい場合はlessを使います。
headとtailの違いは何ですか?
headはファイルの先頭部分を表示します。
tailはファイルの末尾部分を表示します。
先頭を見るならhead、末尾を見るならtailと覚えるとわかりやすいです。
headで複数ファイルを表示できますか?
はい、できます。
複数のファイル名を指定すると、それぞれのファイルの先頭部分を表示できます。
head file1.txt file2.txt
headでCSVのヘッダーだけ確認できますか?
はい、できます。
CSVの1行目だけを表示したい場合は、head -n 1を使います。
head -n 1 data.csv
headで表示できない原因は何ですか?
対象ファイルが存在しない、ファイル名を間違えている、読み取り権限がない、ディレクトリを指定している、文字コードが合っていない、などが考えられます。
まずはpwdとls -laで現在地とファイルの状態を確認しましょう。
まとめ
headコマンドとは、Linuxでファイルの先頭部分を表示するための基本コマンドです。
基本的な使い方は、headの後ろにファイル名を指定します。
head sample.txt
行数を指定しない場合、先頭10行が表示されます。
表示する行数を指定したい場合は、head -nを使います。
head -n 5 sample.txt
先頭1行だけ確認したい場合は、head -n 1を使います。
head -n 1 data.csv
CSVファイルのヘッダー行を確認したいときに便利です。
catはファイル全体を表示するコマンドです。
lessはファイル全体をスクロールしながら確認するコマンドです。
tailはファイルの末尾部分を表示するコマンドです。
headは、ファイルの冒頭だけを素早く確認したいときに向いています。
Linux初心者は、まずhead、head -n、head -n 1を覚え、ファイルの先頭部分を確認する操作に慣れていきましょう。





コメント