如何讓 Ping 的輸出更簡單易讀
眾所周知,ping
命令可以用來檢查目標主機是否可達。使用 ping
命令的時候,會發送一個 ICMP Echo 請求,通過目標主機的響應與否來確定目標主機的狀態。如果你經常使用 ping
命令,你可以嘗試一下 prettyping
。Prettyping 只是將一個標準的 ping 工具增加了一層封裝,在運行標準 ping
命令的同時添加了顏色和 unicode 字元解析輸出,所以它的輸出更漂亮緊湊、清晰易讀。它是用 bash
和 awk
編寫的自由開源工具,支持大部分類 Unix 操作系統,包括 GNU/Linux、FreeBSD 和 Mac OS X。Prettyping 除了美化 ping
命令的輸出,還有很多值得注意的功能。
- 檢測丟失的數據包並在輸出中標記出來。
- 顯示實時數據。每次收到響應後,都會更新統計數據,而對於普通
ping
命令,只會在執行結束後統計。 - 可以靈活處理「未知信息」(例如錯誤信息),而不搞亂輸出結果。
- 能夠避免輸出重複的信息。
- 兼容常用的
ping
工具命令參數。 - 能夠由普通用戶執行。
- 可以將輸出重定向到文件中。
- 不需要安裝,只需要下載二進位文件,賦予可執行許可權即可執行。
- 快速且輕巧。
- 輸出結果清晰直觀。
安裝 Prettyping
如上所述,Prettyping 是一個綠色軟體,不需要任何安裝,只要使用以下命令下載 Prettyping 二進位文件:
$ curl -O https://raw.githubusercontent.com/denilsonsa/prettyping/master/prettyping
將二進位文件放置到 $PATH
(例如 /usr/local/bin
)中:
$ sudo mv prettyping /usr/local/bin
然後對其賦予可執行許可權:
$ sudo chmod +x /usr/local/bin/prettyping
就可以使用了。
讓 ping 的輸出清晰易讀
安裝完成後,通過 prettyping
來 ping 任何主機或 IP 地址,就可以以圖形方式查看輸出。
$ prettyping ostechnix.com
輸出效果大概會是這樣:
如果你不帶任何參數執行 prettyping
,它就會一直運行直到被 ctrl + c
中斷。
由於 Prettyping 只是一個對普通 ping
命令的封裝,所以常用的 ping 參數也是有效的。例如使用 -c 5
來指定 ping 一台主機的 5 次:
$ prettyping -c 5 ostechnix.com
Prettyping 默認會使用彩色輸出,如果你不喜歡彩色的輸出,可以加上 --nocolor
參數:
$ prettyping --nocolor ostechnix.com
同樣的,也可以用 --nomulticolor
參數禁用多顏色支持:
$ prettyping --nomulticolor ostechnix.com
使用 --nounicode
參數禁用 unicode 字元:
如果你的終端不支持 UTF-8,或者無法修復系統中的 unicode 字體,只需要加上 --nounicode
參數就能輕鬆解決。
Prettyping 支持將輸出的內容重定向到文件中,例如執行以下這個命令會將 prettyping ostechnix.com
的輸出重定向到 ostechnix.txt
中:
$ prettyping ostechnix.com | tee ostechnix.txt
Prettyping 還有很多選項幫助你完成各種任務,例如:
- 啟用/禁用延時圖例(默認啟用)
- 強制按照終端的格式輸出(默認自動)
- 在統計數據中統計最後的 n 次 ping(默認 60 次)
- 覆蓋對終端尺寸的自動檢測
- 指定 awk 解釋器路徑(默認:
awk
) - 指定 ping 工具路徑(默認:
ping
)
查看幫助文檔可以了解更多:
$ prettyping --help
儘管 Prettyping 沒有添加任何額外功能,但我個人喜歡它的這些優點:
- 實時統計 —— 可以隨時查看所有實時統計信息,標準
ping
命令只會在命令執行結束後才顯示統計信息。 - 緊湊的顯示 —— 可以在終端看到更長的時間跨度。
- 檢測丟失的數據包並顯示出來。
如果你一直在尋找可視化顯示 ping
命令輸出的工具,那麼 Prettyping 肯定會有所幫助。嘗試一下,你不會失望的。
via: https://www.ostechnix.com/prettyping-make-the-output-of-ping-command-prettier-and-easier-to-read/
作者:SK 選題:lujun9972 譯者:HankChow 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive