在Linux系统上,我可以
watch -n1 tail /var/log/whatever.log
要么
watch -n1 grep somestuff /var/log/whatever.log
每1秒显示一次日志的更新。 但是,在FreeBSD上, watch命令完全可以完成其他任务。 谁知道一个好的FreeBSD命令,我正在做什么? =)
这个怎么样: $ tail -f logfile ?
如果你需要grep: $ tail -f logfile | grep foobar $ tail -f logfile | grep foobar 。
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/
你可以写一个快速的shell循环:
while sleep 1; do clear; grep somestuff /var/log/whatever.log | head -n 18; done
如果我将“我正在做的事情”定义为“监视对日志文件的更改”,我build议不要使用watch ,而是使用“-f”(用于“跟随”)或“-F “ tail选项,如tail -f /var/log/whatever.log 。 输出也可以通过greppipe道给你在那里显示的过滤版本。 我相信这也可能比“观察”更有效率。
编辑:我认为“跟随”选项不是在BSD上可用,但它似乎是。 一定是在想别的东西不在那里…
watch -n 5 tail /var/logfile cmdwatch -n 5 /var/logfile gnuwatch -n 5 /var/logfile : gnuwatch -n 5 /var/logfile (从BSD的端口安装)
你可以使用这个脚本来处理你想要用watch命令做的所有事情。
#!/usr/local/bin/bash while [ 1 -lt 2 ] do clear date echo ------------------------------------ eval $@ sleep 2 done
用法:sh scriptname.sh例如:sh scriptname.sh ls -l