このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Linuxコマンドの基本:末尾部分を表示する:tailコマンド

末尾部分を表示する:tailコマンド

 Linuxでファイルを操作する際、ファイルの末尾部分を確認したい場面があります。例えば、ログファイルの最新の記録を確認したり、ファイルに新しく追加されたデータを監視したりする場合です。tailコマンドは、そのようなニーズに応えるためのコマンドで、ファイルの末尾部分を表示します。

tailコマンドの概要

 tailコマンドは、指定したファイルの末尾から指定した行数を表示するコマンドです。オプションを指定しない場合、デフォルトで末尾10行が表示されます。

主なオプションと説明

オプション説明
-n 数表示する行数を指定する(例:-n 5 で末尾5行を表示)
-fファイルの末尾に追加された内容をリアルタイムで表示(監視モード)
主なオプションと説明

デフォルトの使用法

ファイルの末尾10行を表示します。

user01@ubuntu:~$ tail /etc/passwd

出力例

polkitd:x:988:988:User for polkitd:/:/usr/sbin/nologin
rtkit:x:117:119:RealtimeKit,,,:/proc:/usr/sbin/nologin
colord:x:118:120:colord colour management daemon,,,:/var/lib/colord:/usr/sbin/nologin
gnome-initial-setup:x:119:65534::/run/gnome-initial-setup/:/bin/false
gdm:x:120:121:Gnome Display Manager:/var/lib/gdm3:/bin/false
nm-openvpn:x:121:122:NetworkManager OpenVPN,,,:/var/lib/openvpn/chroot:/usr/sbin/nologin
gnome-remote-desktop:x:987:987:GNOME Remote Desktop:/var/lib/gnome-remote-desktop:/usr/sbin/nologin
user01:x:1000:1000:user01:/home/user01:/bin/bash
vboxadd:x:997:1::/var/run/vboxadd:/bin/false
user02:x:1001:1001::/home/user02:/bin/sh

行数を指定して表示する(-nオプション)

特定の行数を表示したい場合、-nオプションで行数を指定できます。

【書式】
tail -n 数

例:末尾1行のみを表示

user01@ubuntu:~$ tail -n 1 /etc/passwd

出力例

user02:x:1001:1001::/home/user02:/bin/sh

ファイルの先頭部分を表示する:headコマンド

 ファイルの先頭部分を表示する場合は、headコマンドを使用します。デフォルトでは先頭10行を表示し、-nオプションで表示する行数を指定できます。

例:先頭10行を表示

user01@ubuntu:~$ head /etc/passwd

出力例

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin

例:先頭1行のみを表示

user01@ubuntu:~$ head -n 1 /etc/passwd

出力例

root:x:0:0:root:/root:/bin/bash

ファイルへの追記を監視する(-fオプション)

 ログファイルなどで、ファイルがリアルタイムで更新される場合、その内容を継続的に監視したいことがあります。tailコマンドの-fオプションを使用すると、ファイルの末尾に追記される内容をリアルタイムで表示できます。

【書式】
tail -f [ファイル名]

例:display.logへの追記を監視する

まず、display.logというファイルを作成します。

user01@ubuntu:~$ touch display.log  # display.logファイルを作成

次に、tail -fコマンドでファイルを監視します。

user01@ubuntu:~$ tail -f display.log  # ここでコマンドが待機状態になります

別のターミナルでの操作

この状態で、別のターミナルからdisplay.logに文字列を追記します。

user01@ubuntu:~$ echo Linux >> display.log

すると、tail -fを実行していたターミナル上に、追記された内容が表示されます。

tail -f実行中のターミナル

Linux   ← ファイルへの追記内容が表示された

ポイント

  • tail -fコマンドは、ファイルの末尾に新しく追加されたデータをリアルタイムで表示します。
  • ログファイルの監視やデバッグ作業に非常に便利です。
  • tail -fコマンドを終了するには、Ctrl + Cを押します。

不要になったファイルを削除する

監視が終わったら、作成したdisplay.logファイルを削除します。

user01@ubuntu:~$ rm display.log

まとめ

  • tailコマンドは、ファイルの末尾部分を表示するためのコマンドで、デフォルトでは末尾10行を表示します。
  • -nオプションを使用して、表示する行数を指定できます。
  • -fオプションを使用すると、ファイルの末尾に追加される内容をリアルタイムで監視できます。
  • ファイルの先頭部分を表示するには、headコマンドを使用します。

 tailコマンドを活用することで、ログファイルの最新情報を確認したり、リアルタイムでファイルの更新内容を監視したりすることが可能です。Linuxシステムの運用やトラブルシューティングにおいて、ぜひ活用してみてください。