head コマンドは、ファイルの先頭部分を表示するためのコマンドです。GNU coreutils に含まれており、Linux では GNU 版が、FreeBSD では BSD 版が提供されています。基本的な動作は共通していますが、細かなオプションの違いがあります。

基本的な使い方

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

主なオプション(GNU coreutils版)

編集
主なオプション
オプション 説明
-n, --lines=N 表示する行数を指定
-c, --bytes=N 表示するバイト数を指定
-q, --quiet, --silent ファイル名を表示しない
-v, --verbose 詳細情報を表示
-z, --zero-terminated 行末に null 文字を表示

ファイルの先頭10行を表示(デフォルト)

編集
head file.txt

file.txt の先頭10行を表示。

ファイルの先頭5行を表示

編集
head -n 5 file.txt

file.txt の先頭5行を表示。

ファイルの先頭100バイトを表示

編集
head -c 100 file.txt

file.txt の先頭100バイトを表示。

ファイル名を表示せずに先頭10行を表示

編集
head -q file.txt

複数のファイルがある場合でも、ファイル名を表示せずに先頭10行を表示。

詳細表示しながら先頭10行を表示

編集
head -v file.txt

ファイルの先頭10行を表示し、ファイル名も表示。

Null 文字で区切られた行を表示

編集
head -z file.txt

行末に null 文字を表示してファイルの先頭10行を表示。

FreeBSD 版との違い

編集

FreeBSD でも head コマンドは提供されていますが、GNU coreutils 版といくつか違いがあります。

主な違い:

編集
  1. -v(詳細表示)オプションが FreeBSD にはない
    • FreeBSD の head には、-v オプションがないため、ファイル名や詳細情報を表示することはできません。
  2. -z(Null 文字で区切る)オプションがない
    • FreeBSD の head には、-z オプションがないため、行末に null 文字を表示することはできません。
  3. GNU coreutils 版を FreeBSD で使う方法
    • coreutils パッケージをインストールすると ghead という名前で GNU 版 head が使える。
    pkg install coreutils
    ghead -n 5 file.txt  # GNU coreutils 版の head
    

詳しくは、それぞれの環境で man head を確認してください。