Как узнать текущее время из интернета из командной строки в Linux?
Например, с ntpq
программой?
Примечание: не с компьютера или операционной системы, а с интернета?
Примечание: я не хочу менять или синхронизировать время. Просто ЗНАЙ это.
linux
command-line
ntp
Dims
источник
источник
Ответы:
Если вы используете bash, следующая строка выполнит работу
Он использует встроенные возможности сети оболочки bash. Если вы используете оболочку POSIX или любую другую оболочку, вы можете использовать, например, netcat.
Обе команды запрашивают сервер таймера через порт TCP 13 Национального института стандартов и технологий и выводят полученные данные на стандартный вывод.
¹ EDIT: От страницы человека Bash: Bash обрабатывает несколько имен файлов , специально , когда они используются в перенаправлениях, как описаны в следующей таблице:
источник
</dev/tcp/
формат?curl -G --data-urlencode "format=%D-%T\n" http://www.timeapi.org/cet/now?
Для каждого дистрибутива доступно несколько служб NTP .
Если вы хотите выполнить синхронизацию по времени :
Установить системное время на аппаратные часы реального времени
(Примечание: это работает хорошо с Google, потому что у них есть серверы повсюду)
Если вы хотите просто посмотреть, во сколько отправляется ближайший сервер Google:
источник
Команда
ntpdate
может сделать это с-q
флагом:От
man ntpdate
:источник
Вы также можете получить время через Интернет, используя HTTP, используя HTP, который доступен во многих системах,
htpdate
который обычно имеет точность только с точностью до ближайшей секунды, или вы можете получить его, используя TLS,tlsdate
что может обеспечить более высокую точность:Кроме того, поскольку ntpdate устарела, вы можете использовать
sntp
его (он установлен по умолчанию на MacOS и входит в состав дистрибутивов ntp), чтобы получить дату гораздо точнее:источник