tailコマンドはファイルの末尾部分を表示します。表示する量はオプションの指定によって決まり、オプションを省略した場合は、10行表示します。
- ① -c BYTE [Linux][FreeBSD]
- 表示するファイル内容の量をバイト単位で指定します。「BYTE」には表示するバイト数を指定します。この時、末尾に「b」を付けると512バイト単位で、「k」を付けるとキロイト(KB)単位で、「m」を付けるとメガバイト(MB)単位で表示できます。
- ② -n LINE
- 表示するファイル内容の量を行単位で指定します。「LINE」には表示する行数を指定します。
- ① FILE...
- 末尾部分を表示するファイルのパスを指定します。複数指定する場合は、スペースで区切って指定します。省略した場合は、標準入力からの入力となります。
[takeda]$ tail file1
44 ident:x:98:98:pident user:/:/sbin/nologin
45 privoxy:x:73:73::/etc/privoxy:
46 pvm:x:24:24::/usr/share/pvm3:/bin/bash
47 radvd:x:75:75:radvd user:/:/bin/false
48 user01:x:500:500::/home/user01:/bin/bash
49 cmd:x:501:501::/home/cmd:/bin/bash
50 takeda:x:502:502::/home/takeda:/bin/bash
51 user02:x:503:503::/home/user02:/bin/bash
52 a:x:9999:9999::/home/a:/bin/bash
53 ba:x:9999:10000::/home/ba:/bin/bash
[takeda]$
[takeda]$ tail -n 5 file1
49 cmd:x:501:501::/home/cmd:/bin/bash
50 takeda:x:502:502::/home/takeda:/bin/bash
51 user02:x:503:503::/home/user02:/bin/bash
52 a:x:9999:9999::/home/a:/bin/bash
53 ba:x:9999:10000::/home/ba:/bin/bash
[takeda]$
[takeda]$ tail -c 83 file1
52 a:x:9999:9999::/home/a:/bin/bash
53 ba:x:9999:10000::/home/ba:/bin/bash
ファイル「file1」の内容の末尾83バイトを表示[takeda]$
[takeda]$ grep spool file1 | tail -n 3
24 smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
36 postfix:x:89:89::/var/spool/postfix:/sbin/nologin
37 squid:x:23:23::/var/spool/squid:/dev/null
ファイル「file1」の内容で、文字列「spool」を含む行のうち、末尾から3行のみを表示[takeda]$
grepコマンド
本編での解説では割愛しましたが、tailコマンドは既存のテキストの最終を表示するだけではなく、常に変更されているファイルの表示もサポートしています。通常はスーパーユーザ(システム管理者)が不正アクセスをされていないか調べたり、各種ログファイルの最新情報を見るために使います。起動方法は、
tail -f /var/httpd/access_log
などのように-f というオプションを付けて実行します。上の例はWebサーバのアクセス状況を監視しています。[Ctrl]+[C]を押すことで終了します。
このコラムのタイトルを「ちょっと変わった」と書きましたがシステム管理を行っている筆者にとっては、むしろこちらの方が一般的な使い方といえます。
本コンテンツは「UNIXコマンド辞典 ビギナー編」(2003年)を元にWeb用に再編集したものです
All Contents copyright © 2003-2009 Odyssey Communications Inc., Shoeisha Co., Ltd.