在 Linux 系统上我可以
watch -n1 tail /var/log/whatever.log
或者
watch -n1 grep somestuff /var/log/whatever.log
每 1 秒显示一次日志更新。但在 FreeBSD 上,手表命令完全是另一回事。谁知道一个好的 FreeBSD 命令可以完成我想要做的事情?=)
答案1
这个怎么样:$ tail -f logfile
?
如果需要 grep $ tail -f logfile | grep foobar
:。
答案2
Port: gnu-watch-3.2.8
Path: /usr/ports/misc/gnu-watch
Info: GNU watch command
Maint: ehaupt[ woof-woof ]FreeBSD.org
B-deps:
R-deps:
WWW: http://procps.sourceforge.net/
答案3
- Linux:
watch -n 5 tail /var/logfile
- Freebsd的:
cmdwatch -n 5 /var/logfile
- OpenBSD的:
gnuwatch -n 5 /var/logfile
(从 BSD 的 Ports 安装)
答案4
如果我将您的“我想做的事情”定义为“监视日志文件的更改”,我建议watch
您不要使用它,而是在命令中使用“-f”(表示“跟踪”)或“-F”选项tail
,如tail -f /var/log/whatever.log
。输出也可以通过 grep 管道传输,为您提供您在那里显示的过滤版本。我相信这也可能比“观看”更有效。
编辑:我以为 BSD 上没有“关注”选项,但看来是有的。一定是想到了其他不存在的东西……