【head】Linuxコマンド_ファイル先頭のデータを表示する

テキストファイルの先頭のデータだけを表示したい時には、「head」コマンドを使用します。

「head」コマンドの使い方(Linux)

先頭のデータを確認したいテキストファイルを選択します。
今回は例として「/root/anaconda-ks.cfg」の先頭部分のデータを確認します。

$ head anaconda-ks.cfg 
#version=RHEL8
# Shutdown after installation
shutdown
# Use text mode install
text --non-interactive

repo --name="AppStream" --baseurl=https://repo.almalinux.org/almalinux/8/AppStream/aarch64/os

%post --logfile=/root/anaconda-post.log --erroronfail
# generate build time file for compatibility with CentOS

この「head」コマンドは上記のようにファイルの先頭のデータのみを表示します。
デフォルトで先頭から10行分を表示します。

表示の行数指定は、「-n」オプションを使用する

「head」コマンドで先頭のデータを行数指定して表示するには「-n」オプションを使用します。

$ head -3 anaconda-ks.cfg 
#version=RHEL8
# Shutdown after installation
shutdown

また、先頭からの行数指定をする場合は以下のコマンドも有効です。

$ head -n +3 anaconda-ks.cfg 
#version=RHEL8
# Shutdown after installation
shutdown

「-n」オプションを使用することで以下のように、ファイルのデータ末尾から行数指定以外の部分を表示することもできます。
以下のコマンドはファイルのデータ末尾から110行目までのデータ以外を表示した結果となります。

$ head -n -110 anaconda-ks.cfg 
#version=RHEL8
# Shutdown after installation
shutdown
# Use text mode install
text --non-interactive

repo --name="AppStream" --baseurl=https://repo.almalinux.org/almalinux/8/AppStream/aarch64/os

実行コマンドの出力結果の先頭データを表示・行数指定

「head」コマンドは実行コマンドの出力結果の政党データを表示することもできます。

以下ではlsコマンドを使用した例となります。
こちらのデフォルトで先頭の10行を表示します。
※10行ない場合は以下のようになります。

$ ls | head
anaconda-ks.cfg
anaconda-post.log
test01
test02

行数指定で先頭の2行のみを表示させます。

$ ls | head -2
anaconda-ks.cfg
anaconda-post.log

ファイルの先頭からバイト指定でデータを表示

ファイルの先頭から、20バイト目までを表示します。

$ head -c +20 anaconda-ks.cfg 
#version=RHEL8
# Shu$ 

ファイルの末尾から、バイト指定以外の表示をする場合は以下のようなコマンドとなります。
以下のコマンドはデータの末尾から2500バイト以外のデータを表示した例となります。

$ head -c -2500 anaconda-ks.cfg 
#version=RHEL8
# Shutdown after installat$ 

「head」コマンドオプション

headコマンドのオプションは以下の通りとなります。

$ head --help
Usage: head [OPTION]... [FILE]...
Print the first 10 lines of each FILE to standard output.
With more than one FILE, precede each with a header giving the file name.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.
  -c, --bytes=[-]NUM       print the first NUM bytes of each file;
                             with the leading '-', print all but the last
                             NUM bytes of each file
  -n, --lines=[-]NUM       print the first NUM lines instead of the first 10;
                             with the leading '-', print all but the last
                             NUM lines of each file
  -q, --quiet, --silent    never print headers giving file names
  -v, --verbose            always print headers giving file names
  -z, --zero-terminated    line delimiter is NUL, not newline
      --help     display this help and exit
      --version  output version information and exit

NUM may have a multiplier suffix:
b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,
GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report head translation bugs to <https://translationproject.org/team/>
Full documentation at: <https://www.gnu.org/software/coreutils/head>
or available locally via: info '(coreutils) head invocation'

「head」コマンドの使い方は以上となります。

最新情報をチェックしよう!