我想每两秒跟踪 ufw.log 文件中的 BLOCK 一词
我尝试这个命令:
sudo watch BLOCK /var/log/ufw.log
但我得到:sh:1:块:未找到
什么是正确的命令?
谢谢
编辑
按照此命令 tail -f /var/log/ufw.log | grep BLOCK 这是输出:
[ 6951.750905] [UFW BLOCK] IN=eth0 OUT= MAC=xxxx SRC=88.99.100.01 DST=180.20.40.11 LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=26663 DF PROTO=TCP SPT=59501 DPT=21 WINDOW=8192 RES=0x00 SYN URGP=0
如何过滤输出以仅显示 SRC=«ip_address»
这样输出就只有:SRC=88.99.100.01
答案1
从watch
联机帮助页:
手表(1)
姓名
watch - execute a program periodically, showing output fullscreen
概要
watch [options] command
描述
watch
重复运行 command
,显示其输出和错误(第一个全屏)。这使您可以观察程序输出随时间的变化。
默认情况下,该程序每 2 秒运行一次。
默认情况下,watch
将运行直到被中断。
考虑到您正在使用的命令行,这似乎与您认为它可能做的任何事情都不相符。您可能正在寻找完全不同的命令......
编辑:根据您在评论中添加的内容,您想要什么可以已经完成了watch
,但它是完成这项工作的错误工具。
tail -f /var/log/ufw.log | grep BLOCK
将继续跟踪日志文件,但仅将包含“BLOCK”的行打印到屏幕上,这更接近我怀疑您想要的。