GNU/Linux >> Tutoriels Linux >  >> Linux

Comment connaître l'heure actuelle à partir d'Internet à partir de la ligne de commande sous Linux ?

Si vous utilisez bash, la ligne suivante fera l'affaire

$ cat </dev/tcp/time.nist.gov/13

56525 13-08-21 23:07:09 50 0 0  55.6 UTC(NIST) *

Il exploite les capacités réseau intégrées¹ du shell bash. Si vous utilisez un shell POSIX ou tout autre shell, vous pouvez utiliser par ex. netcat.

$ nc time.nist.gov 13

56525 13-08-21 23:07:09 50 0 0  55.6 UTC(NIST) *

Les deux commandes interrogent le serveur de minuterie sur le port TCP 13 du National Institute of Standards and Technology et génèrent les données reçues sur stdout.

¹MODIF : À partir de la page de manuel de Bash :Bash gère plusieurs noms de fichiers spécialement lorsqu'ils sont utilisés dans les redirections, comme décrit dans le tableau suivant :

/dev/tcp/host/port
Si host est un nom d'hôte ou une adresse Internet valide, et port est un numéro de port entier ou nom du service, bash tente d'ouvrir une connexion TCP vers le socket correspondant.

/dev/udp/host/port
Si host est un nom d'hôte ou une adresse Internet valide, et port est un numéro de port entier ou nom du service, bash tente d'ouvrir une connexion UDP au socket correspondant.


Il existe plusieurs services NTP disponibles par distribution.

Si vous souhaitez effectuer une synchronisation d'horloge unique :

date -s "$(curl -s --head http://google.com | grep ^Date: | sed 's/Date: //g')"

Régler l'heure du système sur l'horloge matérielle en temps réel

hwclock -r --utc
hwclock -w --utc
hwclock -r --utc

(Remarque :cela fonctionne bien avec Google car ils ont des serveurs partout)

Si vous souhaitez simplement voir à quelle heure le serveur de Google le plus proche envoie :

date -d "$(curl -s --head http://google.com | grep ^Date: | sed 's/Date: //g')"

Le ntpdate la commande peut le faire avec le -q drapeau :

$ ntpdate -q 1.debian.pool.ntp.org
server 88.191.120.99, stratum 3, offset -0.015076, delay 0.06604
server 88.191.235.218, stratum 2, offset -0.000676, delay 0.06592
server 188.165.240.21, stratum 3, offset 0.001191, delay 0.07005
server 91.121.34.166, stratum 2, offset 0.000565, delay 0.06998
22 Aug 00:56:21 ntpdate[31373]: adjust time server 88.191.235.218 offset -0.000676 sec

De man ntpdate :

   -q     Query only - don't set the clock.

Linux
  1. Comment installer un logiciel à partir de la ligne de commande Linux

  2. Comment supprimer des fichiers et des répertoires sous Linux à partir de la ligne de commande

  3. Comment diviser et combiner des fichiers à partir de la ligne de commande sous Linux

  4. Migrer un serveur Linux depuis la ligne de commande

  5. Comment puis-je copier un dossier à partir de la ligne de commande Linux ?

Comment faire des captures d'écran à partir de la ligne de commande à l'aide de "Scrot" sous Linux

Comment trouver une adresse IP publique à partir de la ligne de commande sous Linux

Comment régler la luminosité du moniteur à partir de la ligne de commande sous Linux

Comment rechercher des fichiers à partir de la ligne de commande Linux

Supprimer le répertoire sous Linux - Comment supprimer un dossier de la ligne de commande

Comment vérifier les statistiques du réseau Linux à partir de la ligne de commande