名前が示すように、headコマンドは、デフォルトでファイルの上位10行を表示します。このコマンドを他のコマンドとパイプして、標準出力を生成できます。 headコマンドは、指定したファイルから上位のデータを簡単に取得し、その結果を標準出力に表示できるコマンドラインユーティリティです。
このチュートリアルでは、Linuxシステムでコマンドラインユーティリティであるheadコマンドを使用する方法について説明します。ヘッドコマンドのオプションを簡単な例で説明します。
ヘッドコマンドの構文
headコマンドの構文は次のとおりです。
head <options> <filename>
オプション: ヘッドオプションは、アクションがファイルに対して実行するアクションを指定するために使用されます。たとえば、オプション-nを使用して行番号を指定します。
ファイル名: この引数を使用して、入力として1つ以上のファイル名を指定できます。その場合、ファイル名について言及しない場合は、標準の生の入力を読み取ります。
例を使用したheadコマンドの使用
この記事では、headコマンドの次のさまざまな使用法について説明します。
オプションなしのHeadコマンドの使用
headコマンドをオプションなしでファイル名とともに使用すると、その場合、次のように、指定されたファイルの最初の10行が返されます。
$ head filename.txt
たとえば、headコマンドを使用して、テストファイルから最初の10行を取得します。
$ head testfile.txt
次の出力が端末に返されます:
headコマンドを使用して指定された行を印刷します
-n(–lines)オプションを指定された整数とともに使用すると、次のようにファイルから目的の行数を表示できます。
$ head -n <integer> filename.txt
たとえば、ファイルの最初の20行を印刷するとします。この場合、次のようにオプションnで20について言及します。
$ head -n 20 testfile.txt
上記のコマンドからオプションnを省略して、次のようにハイフンで整数を指定することもできます。
$ head -20 testfile.txt
headコマンドを使用して指定されたバイトを出力します
次のように、headコマンドとともにオプション「-c」を使用して、ファイルの指定されたバイト数を出力することもできます。
$ head -c <integer> filename.txt
例を使って、headコマンドを使用してファイルから最初の200バイトのデータを出力する方法を説明しましょう。次のコマンドを実行します:
$ head -c 200 testfile.txt
乗数の接尾辞は、バイトを表示するように指定することもできます。たとえば、
指定されたバイト整数で使用できる次の乗数:
- bは512を掛けます。
- kBに1000を掛けたもの
- Kに1024を掛けたもの
- MBに1000000を掛けたもの
- Mは1048576で乗算します
上位2キロバイトを印刷するには、次のコマンドを実行します。
$ head -c 2k testfile.txt
headコマンドで入力として複数のファイルを指定する
複数のファイルについては、次のようにheadコマンドを使用して入力することもできます。
$ head testfile.txt testfile2.txt
上記のコマンドは、各ファイル名の上位10行を表示します。
複数のファイルがある場合は、headコマンドで同じオプションが使用されます。
ヘッドコマンドとテールコマンドの使用
headコマンドは、他のコマンドと一緒に使用することもできます。たとえば、10〜20行の行を印刷するには、次のようにtailコマンドを使用できます。
$ head -n 20 testfile.txt | tail -10
他のコマンドを使用したヘッドコマンドパイプライン
headコマンドは、他のコマンドと一緒にパイプとして使用することもできます。たとえば、最新の2つの変更されたファイルを表示するには、次のコマンドを使用します。
$ ls -t /etc | head -n 2
結論
この記事では、必要なすべてのオプションを使用したheadコマンドの使用について十分に理解しています。ヘッドコマンドで他のコマンドを効果的に使用する方法を見てきました。 tailコマンドとheadコマンドを併用することで、ファイルの最後の行を端末に表示することもできます。