当我运行时sudo mtr 4.2.2.1
,它在终端中循环运行。
我想保留与以下相同的格式:
Host
1. 192.168.15.1
2. ???
3. 10.254.254.x
4. 10.254.254.x
5. core1.lon2.he.net
6. 10gigabitethernet2-1.core1.lon2.he.net
7. a.resolvers.level3.net
但打印一次到标准输出。
在手册中,我只能看到以 XML、JSON、CSV 或 RAW 格式打印的选项,但看不到上面打印一次的人类可读格式。基本上我对使用命令时的类似格式感兴趣traceroute
,但对于mtr
.是否可以?
我尝试运行 as sudo mtr -c1 4.2.2.1 | head -n20
,但它破坏了终端,所以我reset
每次使用后都必须运行它。有什么解决办法吗?
答案1
如果你想处理mtr
的输出,或者在mtr
退出后保持它的显示,你需要在报告模式,或者更好的宽报告模式下运行它:
mtr -r -c1 4.2.2.1
或者
mtr -w -c1 4.2.2.1
(不同之处在于,在宽报告模式下,它不会截断主机名)。
mtr -w -c1 4.2.2.1 | awk 'NR>1 {print $1, $2}'
会给出一些接近你所追求的东西。
答案2
-r
这可以通过报告模式来完成。
sudo mtr -c1 -r 4.2.2.1 | head -n20
或者重定向到一个文件...
sudo mtr -c1 -r 4.2.2.1 | head -n20 > out
还,iTerm2似乎不受屏幕绘制问题的影响。