473 words
2 minutes
【Unix】tailの解説
最終更新:2025-02-24
概要
tail
コマンドは、ファイルや標準入力の末尾部分を表示するためのコマンドである。ログファイルの監視や後ろから数行だけを確認したい場合などに有用である。
使用方法は以下の通りである。
tail [オプション] [ファイル...]
主なオプションとハンズオン
1. -n (末尾からの行数指定)
- 機能: 指定した行数分を末尾から表示する。
- 使用例:
上記では、tail -n 5 sample.txt
sample.txt
の末尾5行を表示する。 - 出力例:
line6 line7 line8 line9 line10
2. -f (追尾表示)
- 機能: ファイルの末尾を表示しつつ、ファイルが更新されるたびに末尾を追尾して表示し続ける。
- 使用例:
上記では、tail -f logfile.log
logfile.log
の末尾を常に更新表示するため、ログ監視などに適している。 - 出力例:
...(既存ログの末尾) New log entry ... Another log entry ...
3. -c (末尾からのバイト数指定)
- 機能: 指定したバイト数分を末尾から表示する。
- 使用例:
上記では、tail -c 30 sample.txt
sample.txt
の末尾30バイトを表示する。マルチバイト文字が含まれる場合は注意が必要である。 - 出力例:
(ファイル末尾30バイト分の文字列)
4. -q (ファイル名を非表示)
- 機能: 複数ファイルを指定した際に、各ファイルの見出しを表示しない。
- 使用例:
上記では、tail -q -n 3 file1.txt file2.txt
file1.txt
とfile2.txt
の末尾3行を連続して表示するが、ファイル名は表示しない。 - 出力例:
file1_line3 file1_line4 file1_line5 file2_line3 file2_line4 file2_line5
5. -v (ファイル名を常に表示)
- 機能: 出力の前に必ずファイル名(見出し)を表示する。
- 使用例:
上記では、常にtail -v -n 3 sample.txt
sample.txt
というファイル名を見出しとして表示してから、末尾3行を出力する。 - 出力例:
==> sample.txt <== line8 line9 line10