Shell 命令来监控文件的变化

Shell 命令来监控文件的变化

我知道 Unix 上有一个命令,可以用来监视文件并查看写入文件的更改。这非常有用,尤其是检查日志文件时。

你知道它叫什么吗?

答案1

你的意思是

tail -f logfile.log

tail 的手册页

答案2

根据 Jon Skeet 的回答,你可能指的是尾巴。

另一个有用的是手表;它允许您定期运行命令并全屏查看输出。例如:

观察-n 10-d ls-l /var/adm/messages

每 10 秒运行一次命令ls -l /var/adm/messages,并突出显示后续运行之间输出的差异。(例如,对于观察日志文件的增长速度很有用)。

答案3

inotifywaitinotify 工具如果您想在每次文件(或目录中的任何文件)更改时运行命令,则很有用。例如:

inotifywait -r -m -e modify /var/log | 
   while read file_path file_event file_name; do 
       echo ${file_path}${file_name} event: ${file_event}
   done

输出:

Setting up watches.  Beware: since -r was given, this may take a while!
Watches established.
/var/log/messages event: MODIFY
/var/log/kern event: MODIFY
...

答案4

tail很棒...less也可以使用在文件上启动 less,less myfile然后按Shift+ F。这起到了less的作用tail

相关内容