Linux

【tail/tailf】ファイルの末尾を表示する・ファイルを追跡表示する|Linuxコマンド基礎

tail

今回は、Linuxコマンドでファイルの末尾を表示する・ファイルを追跡表示する方法(tail/tailfコマンド)について分かりやすくご説明いたします。

 

うちぱぱ
うちぱぱ
それでは始めましょう!

ファイルの末尾を表示する・ファイルを追跡表示する【tail/tailf】

 

書式

tail [オプション] [ファイル名 …]
tailf [ファイル名]

オプション

+数値 指定した数値の行数をファイルの先頭から表示
-数値 指定した数値の行数をファイルの末尾から表示
-c バイト数 ファイル末尾の指定したバイト数だけ表示。b(指定するバイト数の512倍)、k(1024倍)、m(1048576倍)を追加で指定可能
-f、-F 指定したファイルは内容が増えるものとし、ファイルの新しい末尾を追跡表示
-n 行数 表示する行数を指定。デフォルトは10行
-q 複数ファイルの表示時にファイル名の表示は行わない
–pid=プロセスID 指定したプロセスIDが終了したらコマンドを終了
–retry ファイルが無くなった場合、同じファイル名で開けるまで繰り返しlogrotateされるログなどの監視に有効
-s 秒数 追跡しているファイルチェックを指定した秒ごとに行う、デフォルトは1秒

 

tail

指定されたファイルの末尾10行を表示します。ファイルを指定しない場合や、「-」が代わりに指定された場合は、標準入力からの入力を待ちます。
複数のファイルを指定し、末尾10行ずつ表示することもできます。この場合は「==> ファイル <==」を表示してから末尾10行を表示します。
tailの利用用途としてログのリアルタイム表示があります。-fオプションを使って追記されるログファイルの末尾の表示を更新し続けます。サーバのログや作成したプログラムのログなどの確認に、tailは欠かせません。

tailf

ログファイルなど、継続して増加するテキストファイルを表示させるために有効です。機能としては「tail -f」と似ています。

コマンド実行例

ファイルの末尾を表示する

# tail /var/log/syslog       ⇒/var/log/syslogの末尾10行を表示
# tail /-n 20 /var/log/syslog   ⇒/var/log/syslogの末尾20行を表示
# tail -f /var/log/syslog     ⇒増えゆく/var/log/syslogを追跡表示で停止
# ps axf | grep apache       ⇒--pidオプションを試すためにApacheのプロセスIDを調べる
1043 ? S 0:00 /usr/sbin/apache
1044 ? S 0:00 \_ [apache]
1045 ? S 0:00 \_ [apache]
1046 ? S 0:00 \_ [apache]
1047 ? S 0:00 \_ [apache]
1048 ? S 0:00 \_ [apache]
1060 ? S 0:00 \_ [apache]

# tail --pid=1043 -f /var/log/apache/access.log
↑Apacheのアクセスログを-fオプションを付けて流す
指定したPIDのプロセスが終了するとtailも終了

# /etc/init.d/apache stop
↑Apacheのプロセスを止めると、tail -fも止まる

複数ファイルの追加情報を表示する

# tail -f /var/log/messages /var/log/secure
==> /var/log/messages <==
Dec 12 12:23:08 uchipapa systemd[2896]: Started Mark boot as successful.
Dec 12 12:28:59 uchipapa systemd: Starting dnf makecache...
Dec 12 12:29:04 uchipapa dnf[3143]: CentOS-8 - AppStream                            3.2 kB/s | 4.3 kB     00:01

↓追加項目はファイル名を表示して内容を表示
==> /var/log/secure <==
Dec 12 12:19:32 uchipapa runuser[1770]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
==> /var/log/messages <==
Dec 12 12:29:07 uchipapa dnf[3143]: CentOS-8 - Base                                 1.8 kB/s | 3.9 kB     00:02

 

+/-のオプションでは、数値の後に単位を入れることもできます。「b」「k」「m」を指定できます。このオプションで「b」「k」「m」を指定しない場合は、標準で行単位でカウント指定する「|」が自動で入ります。

 

うちぱぱ
うちぱぱ
今回は以上となります!
head
【head】ファイルの先頭から数行を表示する|Linuxコマンド基礎今回は、Linuxコマンドでファイルの先頭から数行を表示する方法(headコマンド)について分かりやすくご説明いたします。 ...