Печать временной метки с выводом команды Ping в Linux
Ping — это утилита сетевого администрирования с командной строкой, доступная практически для всех операционных систем, включая встроенные сетевые устройства. В основном он используется для проверки возможности подключения или доступности хоста в сети. По умолчанию команда ping не отображает временную метку в своих выводах. Если по какой-либо причине вы хотите печатать временную метку с выводом команды ping, это руководство покажет вам, как это сделать.
Печать временной метки с выводом команды Ping в Linux
Чтобы отобразить временную метку в выводе команды ping
, просто передайте флаг -D
, как показано ниже.
ping -c 3 -D ostechnix.com
Пример вывода:
PING ostechnix.com(2606:4700:20::ac43:4886 (2606:4700:20::ac43:4886)) 56 data bytes
[1611825018.797092] 64 bytes from 2606:4700:20::ac43:4886 (2606:4700:20::ac43:4886): icmp_seq=1 ttl=57 time=94.8 ms
[1611825019.616530] 64 bytes from 2606:4700:20::ac43:4886 (2606:4700:20::ac43:4886): icmp_seq=2 ttl=57 time=114 ms
[1611825020.615700] 64 bytes from 2606:4700:20::ac43:4886 (2606:4700:20::ac43:4886): icmp_seq=3 ttl=57 time=112 ms
[1611825021.596463] 64 bytes from 2606:4700:20::ac43:4886 (2606:4700:20::ac43:4886): icmp_seq=4 ttl=57 time=91.5 ms
[1611825022.619467] 64 bytes from 2606:4700:20::ac43:4886 (2606:4700:20::ac43:4886): icmp_seq=5 ttl=57 time=113 ms
--- ostechnix.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 91.543/105.095/114.408/9.815 ms
Печать временной метки с выводом команды Ping
Как вы видите в приведенном выше выводе, команда ping
печатала метку времени (время unix + микросекунды, как в gettimeofday
) перед каждой строкой. В моем случае [1611825018.797092]
, [1611825019.616530]
, .... [1611825022.619467]
— это временные метки.
Несмотря на то, что команда Ping имеет возможность включить временную метку, результат не так удобен для пользователя. Если вы хотите отобразить метку времени в удобочитаемом формате, используйте команду ts
, как показано в следующем разделе.
Включите временную метку в выводе команды Ping с помощью команды ts.
Команда ts
является частью пакета moreutils. Он печатает временную метку в начале каждой строки вывода любой команды Linux.
Чтобы использовать команду ts
, вам необходимо установить пакет moreutlis, как показано по следующей ссылке:
- Moreutils - коллекция более полезных утилит для Unix
Теперь вы можете отображать временную метку в каждой строке вывода команды ping
, как показано ниже:
ping -c 5 ostechnix.com | ts
Пример вывода:
Jan 28 16:38:40 PING ostechnix.com(2606:4700:20::ac43:4886 (2606:4700:20::ac43:4886)) 56 data bytes
Jan 28 16:38:40 64 bytes from 2606:4700:20::ac43:4886 (2606:4700:20::ac43:4886): icmp_seq=1 ttl=57 time=76.7 ms
Jan 28 16:38:41 64 bytes from 2606:4700:20::ac43:4886 (2606:4700:20::ac43:4886): icmp_seq=2 ttl=57 time=93.2 ms
Jan 28 16:38:42 64 bytes from 2606:4700:20::ac43:4886 (2606:4700:20::ac43:4886): icmp_seq=3 ttl=57 time=84.8 ms
Jan 28 16:38:43 64 bytes from 2606:4700:20::ac43:4886 (2606:4700:20::ac43:4886): icmp_seq=4 ttl=57 time=84.3 ms
Jan 28 16:38:44 64 bytes from 2606:4700:20::ac43:4886 (2606:4700:20::ac43:4886): icmp_seq=5 ttl=57 time=108 ms
Jan 28 16:38:44
Jan 28 16:38:44 --- ostechnix.com ping statistics ---
Jan 28 16:38:44 5 packets transmitted, 5 received, 0% packet loss, time 4006ms
Jan 28 16:38:44 rtt min/avg/max/mdev = 76.718/89.390/107.965/10.646 ms
Включите временную метку в выводе команды Ping с помощью команды ts.
Вы заметили временную метку в начале каждой строки? Да, это временные метки, и теперь их легко понять. Не только для команды ping, команда ts
может отображать временную метку для вывода любой команды.
Надеюсь это поможет.
Связанное чтение:
- Отображение вывода команды Ping в формате графика с помощью Gping
- Предварительная типизация: сделайте вывод команды Ping более красивым и удобным для чтения
- Как проверить связь с несколькими хостами одновременно в Linux
- Пропинговать несколько серверов и отобразить результат в текстовом интерфейсе, напоминающем верхнюю часть