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

基本的な使い方

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

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

編集
主なオプション
オプション 説明
-n, --lines=N 表示する行数を指定
-c, --bytes=N 表示するバイト数を指定
-f, --follow ファイルの末尾を監視し続ける
-q, --quiet, --silent ファイル名を表示しない
-v, --verbose 詳細情報を表示

ファイルの末尾10行を表示(デフォルト)

編集
tail file.txt

file.txt の末尾10行を表示。

ファイルの末尾5行を表示

編集
tail -n 5 file.txt

file.txt の末尾5行を表示。

ファイルの末尾100バイトを表示

編集
tail -c 100 file.txt

file.txt の末尾100バイトを表示。

ファイルの末尾をリアルタイムで監視

編集
tail -f file.txt

ファイルの末尾を監視し、新しい行が追加されるたびに表示。

複数のファイルを監視

編集
tail -f file1.txt file2.txt

複数のファイルの末尾をリアルタイムで監視。

詳細表示しながら末尾10行を表示

編集
tail -v file.txt

ファイルの末尾10行を表示し、ファイル名も表示。

ファイル名を表示せずに末尾10行を表示

編集
tail -q file.txt

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

FreeBSD 版との違い

編集

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

主な違い:

編集
  1. -v(詳細表示)オプションが FreeBSD にはない
    • FreeBSD の tail には、-v オプションがないため、ファイル名や詳細情報を表示することはできません。
  2. -q(ファイル名を表示しない)オプションがない
    • FreeBSD の tail には、-q オプションがないため、複数のファイルを表示する際にファイル名を非表示にすることはできません。
  3. -f(ファイルの末尾を監視)オプションの動作が異なる
    • FreeBSD 版の -f は、リアルタイムでファイルの末尾を監視する動作が、GNU 版とは異なる場合があります。
  4. GNU coreutils 版を FreeBSD で使う方法
    • coreutils パッケージをインストールすると gtail という名前で GNU 版 tail が使える。
    pkg install coreutils
    gtail -f file.txt  # GNU coreutils 版の tail
    

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