tcpdump 抑制脚本中的控制台输出并写入文件
tcpdump suppress console output in script & write to file
在 bash 脚本中,我需要 运行 一个 tcpdump 命令并将输出保存到一个文件中,但是当我通过 > /tmp/test.txt
执行此操作时,我仍然会在控制台:
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 1500 bytes
1 packet captured
1 packet received by filter
0 packets dropped by kernel
但是我在脚本中等待命令完成后再继续。
是否可以抑制这个输出?
您看到的输出是写入 stderr
,而不是 stdout
,因此如果您不想看到它,可以将其重定向到 /dev/null
。例如:
tcpdump -nn -v -i eth0 -s 1500 -c 1 'ether proto 0x88cc' > /tmp/test.txt 2> /dev/null
在 bash 脚本中,我需要 运行 一个 tcpdump 命令并将输出保存到一个文件中,但是当我通过 > /tmp/test.txt
执行此操作时,我仍然会在控制台:
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 1500 bytes
1 packet captured
1 packet received by filter
0 packets dropped by kernel
但是我在脚本中等待命令完成后再继续。
是否可以抑制这个输出?
您看到的输出是写入 stderr
,而不是 stdout
,因此如果您不想看到它,可以将其重定向到 /dev/null
。例如:
tcpdump -nn -v -i eth0 -s 1500 -c 1 'ether proto 0x88cc' > /tmp/test.txt 2> /dev/null