Ping是一個命令行網絡管理工具,幾乎所有的操作系統都可以使用,包括嵌入式網絡設備。它主要用于測試網絡上主機的連接性或可到達性。默認情況下,ping命令不會在其輸出中顯示時間戳。如果你因為任何原因想用ping命令輸出打印時間戳,本教程將告訴你如何操作。
要在ping命令的輸出中顯示時間戳,只需傳遞-D標志,如下所示。
$ ping -c 3 -D a5idc.com
從上面的輸出中可以看出,ping命令在每一行前都打印了時間戳(unix時間+微秒,如gettimeofday)。
盡管Ping命令有啟用時間戳的選項,但輸出的時間戳并不那么友好。如果你想以易讀的格式顯示時間戳,可以使用ts命令,如下節所示。
ts 命令是 moreutils 軟件包的一部分。它可以在任何Linux命令的輸出中打印出每行開頭的時間戳。
要使用 ts 命令,你需要安裝 moreutlis 包,如下圖所示。
在Linux服務器上安裝moreutils
moreutils被打包用于許多Linux發行版,因此您可以使用發行版的程序包管理器進行安裝。
在Arch Linux及其衍生版本(例如Antergos和Manjaro Linux)上,運行以下命令來安裝moreutils。
$ sudo pacman -S moreutils
在Fedora上:
$ sudo dnf install moreutils
在RHEL,centos和Scientific Linux上:
$ sudo yum install epel-release
$ sudo yum install moreutils
$ sudo apt-get install moreutils
現在,你可以在ping命令的輸出中顯示每行的時間戳,如下所示。
$ ping -c 5 a5idc.com | ts
你注意到每行開頭的時間了嗎?是的,它們就是時間戳,現在很容易理解了。不僅僅是ping命令,ts命令可以顯示任何命令輸出的時間戳。