技術ノート Linux Linux で head コマンドを使用する方法

Linux で head コマンドを使用する方法

重要なポイント

  • Linux の head コマンド (例: 「head example.txt」) 自体は、テキスト ファイルまたは入力の最初の 10 行をリストします。
  • 「-n」オプションを使用して特定の行数を表示するように head コマンドをカスタマイズしたり、「-c」オプションを使用して出力を特定のバイトに制限したりできます。
  • head コマンドを使用すると、時間の経過とともに変化する可能性のあるログやその他のテキスト ファイルを分析することで、選択的なリアルタイム システム監視を行うこともできます。

Linux には、テキスト ファイルの内容全体を取得するための さまざまなコマンド があります。しかし、特定の部分またはいくつかの開始ラインが必要な場合はどうすればよいでしょうか? head コマンドは、端末上のファイルの初期コンテンツを出力します。

Linux の head コマンドとは何ですか?

Linux には、ファイルの内容を表示するためのコマンドが複数あります。最も一般的で頻繁に使用されるのは、 cat less 、および view コマンドです。ただし、これらのコマンドは、ファイルの大部分を表示する場合に便利です。ファイルの特定の行数だけを表示する必要がある場合は、 head コマンドが役に立ちます。

head コマンドは、 tail コマンドの動作とは逆の動作を行います。これはファイルの開始内容を表示し、 tail コマンドはファイルの終了行を出力します。デフォルトでは、 head 最初の 10 行を表示します。 10 行以上または 10 行未満を印刷したい場合は、 -n オプションを使用してください。同様に、 head コマンドの -c オプションを使用すると、出力を特定のバイト番号に制限できます。

head コマンドは、時間の経過とともに変化する ログやその他のテキスト ファイルを分析 できます。 head コマンドを 他のコマンドと組み合わせて 使用​​すると、選択的なリアルタイム監視を行うことができます。

head コマンドの構文は理解しやすく、他の Linux コマンドと似ています。

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

head コマンドは、1 つまたは複数のファイルを入力として受け取ることができます。また、その動作と出力を変更するいくつかのオプションも受け入れます。ファイルが指定されていない場合、 head コマンドは 標準入力 から読み取ります。

head コマンドのバージョンを確認するには、次を使用します。

 head --バージョン

同様に、次のコマンドを入力して、先頭コマンドの head メニューを出力します。

頭 -- ヘルプ

Linux で head コマンドを使用する方法

head コマンドのオプション

Linux では head コマンドでさまざまなオプションを使用できます。各オプションには、基本的な構文で使用するための簡潔かつ拡張された形式があります。 head コマンドが通常の出力に出力するデータ量を制御します。たとえば、ファイル出力にヘッダーを含めるかどうかを決定できます。

次の表には、 head コマンドで使用できるオプションのリストが含まれています。

オプション

説明

-n または --lines

先頭から表示する行数を定義します。

-c または --bytes

先頭から指定したバイト数を表示します。

-v または --verbose

各ファイル名とファイルの内容を出力します。複数のファイルを一度に表示する場合に便利です。

-q または --quiet

ファイルの内容を表示する前に、ファイル名の出力を抑制します。これは、1 つのファイルのみを表示する場合、または出力を別のコマンドにパイプする場合に便利です。

-z または --zero-terminated

各行の末尾にある改行文字を NULL に置き換えます。

head コマンドのデモに進む前に、まずサンプル ファイルの内容を見てみましょう。 cat コマンドの後にファイル名を指定して、サンプル ファイルのすべてのデータを取得します。

猫の例.txt

このサンプル ファイルには 15 行のテキストが含まれています。

次に、 head コマンドを使用して、example.txt ファイルの内容を出力してみましょう。 head コマンドをオプションなしで実行すると、ファイルの最初の 10 行が出力されます。

頭の例.txt 

Linux で head コマンドを使用する方法

特定の行数を取得する

head コマンドを使用して特定の行数を表示するには、 -n ( --lines ) オプションの後にファイル名を追加します。

example.txt の最初の 4 行を表示するには、次のコマンドを実行します。

 head -n 4 example.txt

同様に、 -n オプションを使用して負の数を指定することもできます。これにより、ファイルの最後の N 行がスキップされます。これは、ファイルの末尾のいくつかの行をスキップする場合に便利です。

たとえば、example.txt ファイルの最後の 2 行をスキップするには、次のコマンドを実行します。

 head -n -2 example.txt 

Linux で head コマンドを使用する方法

head を使用して特定のバイト数を取得する

head コマンドのもう 1 つの使用例は、ファイルの先頭から特定のバイト数を取得することです。これを行うには、 -c ( --bytes ) オプションの後に数字を使用します。

同じファイル example.txt があり、15 行のテキストが含まれているとします。最初の 20 バイトを取得するには、次を実行します。

 head -c 20 example.txt

example.txt ファイルには ASCII 文字が含まれているため、スペースと改行を含む各文字は 1 バイトになります。

-c オプションを使用して負の数を定義することもできます。これにより、ファイルの最後の N バイトを除くすべてのバイトが表示されます。 example.txt の最後の 13 バイトを除くすべてのバイトを表示するには、次のコマンドを実行します。

 head -c -13 example.txt 

Linux で head コマンドを使用する方法

ファイル内の特定の文字を表示する

場合によっては、ファイルの内容全体ではなく、ファイルの特定の部分を表示する必要があることがあります。複数行の内容を含むファイルがあり、各行の最初または最後の文字を確認したいとします。このためには、 head コマンドを cut awk sed などの他のテキスト処理コマンドとパイプする必要があります。

たとえば、example.txt の各行の最初の文字を取得するには、 -c オプションとその後に文字位置を指定して cut コマンドを使用します。デフォルトでは、出力行数を指定しない限り、最初の 10 行の開始文字が取得されます。

頭の例.txt |カット -c 1

example.txt の各行の最後の単語を表示するには、 {print $NF} パターンを指定して awk コマンドを使用します。 head コマンドと awk コマンドの両方をパイプするには、パイプ演算子 (|) を使用します。このようにして、 head コマンドの出力は awk コマンドへの入力として機能します。

{print $NF} を使用すると、入力の各行の最後のフィールドの値を出力するように awk 指示します。 $NF を使用すると、各行に含まれるフィールドの数を事前に知る必要がありません。 awk 自動的にそれを処理し、最後のフィールドを抽出します。

頭の例.txt | awk '{print $NF}' 

Linux で head コマンドを使用する方法

ヘッダー/ファイル名を見る head 付き

デフォルトでは、 head コマンドが単一のファイルに対して使用される場合、ファイル名は出力されません。ただし、複数のファイルで使用する場合は、ファイル名を表示できます。

ファイル名とその内容を取得するには、 -v オプションを使用します。このオプションは、指定されたファイルのファイル名を含むヘッダーを印刷します。

 head -v 例.txt 

Linux で head コマンドを使用する方法

複数のファイルの内容を head 付きで表示する

head コマンドは、複数のファイル名を引数として受け取り、その内容を順番に表示することもできます。複数行のコンテンツを含む example.txt と test.txt という 2 つのファイルを考えてみましょう。ここで、 head コマンドは両方のファイル名とその内容を表示します。

ヘッドの例.txt テスト.txt

head コマンドを -q オプションとともに使用すると、名前を表示せずに複数のファイルの内容を表示できます。

 head -q example.txt test.txt

他のコマンドで head を使用する

head コマンドを他のコマンドと一緒に使用して、さまざまなタスクを実行することもできます。これは、 tail more wc 、および grep コマンドとともに使用できます。

head コマンドを grep でパイプ処理すると、指定したパターンを含むすべての行が表示されます。

頭の例.txt | grepch

上記の構文は、example.txt ファイル内の「ch」を含むすべての行を表示します。

head コマンドと wc コマンドをパイプすることもできます。これらのコマンドはどちらも、ファイル内の合計行数、ワード数、およびバイト数を出力します。

example.txt ファイルの行数、単語数、バイト数を取得するには、次のコマンドを実行します。

頭の例.txt |トイレ

head コマンドと tail コマンドをパイプ記号とともに使用すると、ファイルの特定の範囲の行を表示できます。 head コマンドはファイルの開始行を表示し、 tail コマンドはファイルの終了行を表示します。

15 行を含む example.txt ファイルについて考えてみましょう。 5 行目から 11 行目までの内容を表示するには、次のコマンドを実行します。

 head -n 10 例.txt |テール -n 5

このコマンドは、最初に head -n 10 コマンドを使用してファイルの最初の 10 行を表示することで機能します。その後、出力を tail -n 5 コマンドにパイプ処理します。 tail コマンドにより、5 行目と 11 行目の間にあるエンティティの最終出力が得られます。

行末を head で表示したいですか?

head コマンドは、その名前が示すように、主にファイルの最初の行に関係します。逆に、 tail コマンドはテキスト ファイルの最後の行を表示する目的で使用されます。通常、新しいデータはファイルの末尾に追加されるため、 tail コマンドを使用すると、ファイルへの最新の追加内容をすばやく簡単に確認できます。また、ファイルを監視し、そのファイルに新しいテキスト エントリが発生するたびに表示することもできます。

head コマンドと同様に、 tail を使用して複数のファイルを監視したり、バイト数をカウントしたりすることもできます。また、テキスト ファイル内の特定のパターンやテキストの内容をチェックすることもできます。これにより、ログ ファイルを監視するための優れたツールになります。

「 Linux で head コマンドを使用する方法」に関するベスト動画選定!

LPIC:ファイルの先頭を表示する:headコマンド
Linuxのコマンドを勉強するよ! (Beginner 004)