5.15 查看一个或多个文件中不断更新的最后几行
tail –f
tail -f --pid=PID# terminates after PID dies.
日志文件的最大特点就是,它会随着系统中各种事情的发生而不断更新。tail
命令可以显示文件的一个快照(snapshot),然后直接返回到命令行。想要再次查看日志文件?不断地运行tail
命令,一次,又一次。真麻烦!
使用-f
(或--follow
)选项,tail
命令就不会自动关闭了。每当文件发生变化时,它就会显示文件的最后10行(或在选项中增加-n
,指定不同的数字)的内容。用这种方法就可以观察到日志文件随时发生的所有变化。如果你正想弄明白系统或者程序刚刚发生了什么情况,这个命令就非常有用。
例如,Web服务器的日志文件可能如下所示:
说明 为了节省篇幅,删除了访问的IP地址、日期和时间。
$ tail -f /var/log/httpd/d20srd_org_log_20051201
“GET /srd/skills/bluff.htm HTTP/1.1”...
“GET /srd/skills/senseMotive.htm HTTP/1.1”...
“GET /srd/skills/concentration.htm HTTP/1.1”...
“GET /srd/classes/monk.htm HTTP/1.1”...
“GET /srd/skills/escapeArtist.htm HTTP/1.1”...
很难在书中展示这个命令运行时的动态效果,这个文件也不会关闭。tail命令会一直打开它,以确保任何新的变化都能及时显示出来。文件显示的内容不断向上滚动,直到按Ctrl+c键才会停下来,并返回到命令行。
用一个日志文件来试试,例如/var/log/syslog
。增加n
选项,看看是否开始只显示特定行数的内容。然后用两个文件来试试这个命令,例如/var/log/syslog
和/var/log/daemon.log
,看看会发生什么事情(提示:将会与5.9节中的情形非常相似,但是这里它会不断地更新)。