tail -nオプションの使い方を解説!Linuxで末尾の行数を指定して表示する基本
生徒
「Linuxでファイルの最後の何行かだけを表示したいんですが、そんなことできますか?」
先生
「はい、その場合はtailコマンドに-nオプションをつけることで、表示したい行数を指定できますよ。」
生徒
「行数を自由に決められるってことですか?」
先生
「その通りです!-nオプションを使えば、ファイルの末尾から何行だけ表示するかを自分で決めることができます。」
1. tailコマンドと-nオプションとは?
tail(テイル)コマンドは、Linuxでファイルの「最後の部分」つまり末尾だけを表示するためのコマンドです。その中でも-nオプションを使えば、「何行表示したいか」を自分で指定できるようになります。
「tail」は英語で「しっぽ」という意味があり、文字どおりファイルの最後の部分(しっぽ)をチェックするのに使われます。
2. 基本的な構文と使い方
tail -nオプションの基本的な書き方は以下のとおりです。
tail -n 行数 ファイル名
たとえば、sample.txtというファイルの末尾5行だけを表示したい場合は、次のように入力します。
tail -n 5 sample.txt
これは6行目です
これは7行目です
これは8行目です
これは9行目です
これは10行目です
このように、-nの後に行数を指定することで、見たい行数だけを末尾から取り出して表示してくれます。
3. デフォルトとの違いを理解しよう
tailコマンドを-nなしで実行すると、デフォルトで最後の10行が表示されます。
tail sample.txt
これは1行目です
これは2行目です
これは3行目です
これは4行目です
これは5行目です
これは6行目です
これは7行目です
これは8行目です
これは9行目です
これは10行目です
このように、何も指定しないと自動的に10行が出力される仕組みになっています。
4. -n で柔軟にカスタマイズ
-nオプションの良いところは、行数を自由に決められることです。たとえば3行だけ見たいときは-n 3、20行見たいときは-n 20と指定できます。
tail -n 3 sample.txt
これは8行目です
これは9行目です
これは10行目です
このようにして、必要な情報だけをピンポイントで取り出すことができます。
5. 行数の数え方と注意点
表示される行は「ファイルの末尾から○行」となります。つまり、最新の情報だけを確認したいときに便利です。
ただし、指定した行数よりもファイルの行数が少ない場合は、存在するすべての行が表示されるので心配はいりません。
6. 他のオプションと組み合わせて使う
-fオプションと組み合わせて、リアルタイムで末尾を監視しながら、かつ-nで開始行数も指定できます。
tail -n 5 -f sample.txt
これは6行目です
これは7行目です
これは8行目です
これは9行目です
これは10行目です
この状態でファイルに新しい行が追加されると、その内容がどんどん表示されていきます。ログ監視などで非常に役立つ使い方です。
7. headコマンドとの違い
ファイルの「先頭部分」を確認したい場合は、head(ヘッド)コマンドを使います。tailが「しっぽ」なら、headは「頭」です。
head -n 5 sample.txt
これは1行目です
これは2行目です
これは3行目です
これは4行目です
これは5行目です
どちらも-nオプションを使って行数を指定できるので、使い方はよく似ています。
8. grepやsortとの連携も可能
tail -nは、他のコマンドと組み合わせて使うこともできます。たとえばログファイルから特定のキーワードを含む行を抽出して、さらにその末尾数行を表示するという使い方です。
grep "ERROR" /var/log/syslog | tail -n 3
Sep 16 12:30:01 localhost ERROR Something failed
Sep 16 12:35:02 localhost ERROR Disk full
Sep 16 12:40:03 localhost ERROR Out of memory
こうすれば、ログの中から最近のエラーだけを抽出してチェックできます。