GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo saber la hora actual de Internet desde la línea de comandos en Linux?

Si usa bash, la siguiente línea hará el trabajo

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

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

Aprovecha las capacidades de red integradas¹ del shell bash. Si usa un shell POSIX o cualquier otro shell que pueda usar, p. netcat.

$ nc time.nist.gov 13

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

Ambos comandos consultan el servidor del temporizador en el puerto TCP 13 del Instituto Nacional de Estándares y Tecnología y envían los datos recibidos a la salida estándar.

¹EDITAR: Desde la página de manual de Bash:Bash maneja varios nombres de archivo, especialmente cuando se usan en redirecciones, como se describe en la siguiente tabla:

/dev/tcp/host/port
Si el host es un nombre de host o una dirección de Internet válidos y el puerto es un número de puerto entero o nombre del servicio, bash intenta abrir una conexión TCP al socket correspondiente.

/dev/udp/host/port
Si el host es un nombre de host o una dirección de Internet válidos y el puerto es un número de puerto entero o nombre del servicio, bash intenta abrir una conexión UDP al socket correspondiente.


Hay varios servicios NTP disponibles por distribución.

Si desea realizar una sincronización de reloj única :

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

Establecer la hora del sistema en el reloj en tiempo real del hardware

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

(Nota:esto funciona bien con Google porque tienen servidores por todas partes)

Si desea ver a qué hora envía el servidor de Google más cercano:

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

El ntpdate El comando puede hacer esto con el -q bandera:

$ 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

Desde man ntpdate :

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

Linux
  1. Cómo instalar software desde la línea de comandos de Linux

  2. Cómo eliminar archivos y directorios en Linux desde la línea de comandos

  3. Cómo dividir y combinar archivos desde la línea de comandos en Linux

  4. Migración de un servidor Linux desde la línea de comandos

  5. ¿Cómo puedo copiar una carpeta desde la línea de comandos de Linux?

Cómo tomar capturas de pantalla desde la línea de comandos usando "Scrot" en Linux

Cómo averiguar la dirección IP pública desde la línea de comandos en Linux

Cómo ajustar el brillo del monitor desde la línea de comandos en Linux

Cómo buscar archivos desde la línea de comandos de Linux

Eliminar directorio en Linux:cómo eliminar una carpeta desde la línea de comandos

Cómo comprobar las estadísticas de red de Linux desde la línea de comandos