headコマンドとは?Linuxでファイルの先頭部分を表示する方法を初心者向けに解説

Linux

headコマンドとは、Linuxでファイルの先頭部分を表示するためのコマンドです。

Linuxでは、ログファイル、設定ファイル、CSVファイル、テキストファイルなど、さまざまなファイルの中身を確認しながら作業します。

ファイル全体を表示したい場合はcatコマンド、長いファイルをスクロールして確認したい場合はlessコマンドを使います。

一方で、「ファイルの最初の数行だけ見たい」という場合に便利なのがheadコマンドです。

headコマンドを使うと、ファイルの先頭から指定した行数だけを表示できます。

この記事では、Linux初心者向けにheadコマンドの意味、基本的な使い方、表示行数の指定、複数ファイルの表示、head -n、head -c、cat・less・tailとの違い、よくあるエラーまでわかりやすく解説します。

  1. headコマンドとは?
  2. headコマンドの基本的な使い方
  3. headコマンドは初期設定で先頭10行を表示する
  4. headコマンドを使う基本の流れ
  5. headコマンドの実行例
  6. head -nで表示する行数を指定する
  7. head -5のように短く書く方法
  8. headコマンドで先頭1行だけ表示する
  9. headコマンドで先頭20行を表示する
  10. head -cで先頭から指定したバイト数を表示する
  11. headコマンドで複数ファイルを表示する
  12. head -qでファイル名の見出しを表示しない
  13. head -vでファイル名の見出しを表示する
  14. headコマンドでよく使うオプション一覧
  15. headコマンドでCSVファイルのヘッダーを確認する
  16. headコマンドでログファイルの先頭を確認する
  17. headコマンドで設定ファイルの冒頭を確認する
  18. headコマンドとcatコマンドの違い
  19. headコマンドとlessコマンドの違い
  20. headコマンドとtailコマンドの違い
  21. headコマンドとmoreコマンドの違い
  22. headコマンドとgrepコマンドの組み合わせ
  23. headコマンドでよくあるエラー・つまずき
    1. No such file or directory
    2. Permission denied
    3. ディレクトリを指定してしまう
    4. 表示される内容が少ない
    5. 文字化けする
  24. headコマンドで表示できないときの確認ポイント
  25. headコマンドを安全に使うコツ
  26. headコマンドを使った練習手順
    1. 1. ホームディレクトリへ移動する
    2. 2. 練習用ディレクトリを作成する
    3. 3. 練習用ディレクトリへ移動する
    4. 4. 練習用ファイルを作成する
    5. 5. ファイル全体を確認する
    6. 6. 先頭10行を表示する
    7. 7. 先頭3行だけ表示する
    8. 8. 先頭1行だけ表示する
  27. headコマンドを覚えると何ができるようになる?
  28. headコマンドのよくある質問
    1. headコマンドは何に使いますか?
    2. headコマンドの基本形は何ですか?
    3. headコマンドは何行表示しますか?
    4. headで表示行数を指定するにはどうしますか?
    5. headで先頭1行だけ表示するにはどうしますか?
    6. head -cとは何ですか?
    7. headとcatの違いは何ですか?
    8. headとlessの違いは何ですか?
    9. headとtailの違いは何ですか?
    10. headで複数ファイルを表示できますか?
    11. headでCSVのヘッダーだけ確認できますか?
    12. headで表示できない原因は何ですか?
  29. まとめ

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を覚え、ファイルの先頭部分を確認する操作に慣れていきましょう。

コメント

PVアクセスランキング にほんブログ村

タイトルとURLをコピーしました