Tutorial del comando zdump de Linux para principiantes (con ejemplos)

Hoy en día, cuando los miembros del equipo trabajan desde distintos países, a veces es importante conocer la información sobre la zona horaria de las distintas ubicaciones. En general, también puede haber situaciones en las que quieras ver rápidamente la zona horaria de un lugar concreto. Te alegrará saber que existe una utilidad de línea de comandos -apodada zdump- que te permite hacer esto.

En este tutorial, hablaremos de los fundamentos de zdump utilizando algunos ejemplos fáciles de entender. Pero antes de hacerlo, vale la pena mencionar que todos los ejemplos mencionados en este artículo han sido probados en una máquina Ubuntu 18.04 LTS.

Comando zdump de Linux

El comando zdump en Linux es básicamente una herramienta de volcado de zonas horarias. A continuación se muestra su sintaxis:

zdump [--version] [--help] [-v] [-c [loyear,]hiyear] [zonename...]

Y así es como lo explica la página man:

The zdump program prints the current time in each zonename named on the command line.

A continuación se muestran algunos ejemplos que deberían darte una buena idea de cómo funciona el comando zdump.

Q1. ¿Cómo se utiliza el comando zdump?

El uso básico es bastante sencillo. Sólo tienes que ejecutar ‘zdump’ con el nombre de la ubicación como entrada. Por ejemplo:

zdump Singapore

Esta es la salida que produjo el comando en mi sistema:

Singapore  Wed Oct 31 17:35:39 2018 +08

Aquí tienes otros ejemplos:

Cómo utilizar el comando zdump

Vale la pena mencionar aquí que puedes hacer zdump para obtener información específica de una ciudad. Estos son algunos ejemplos:

Utiliza zdump para obtener información específica de la ciudad

Q2. ¿Cómo hacer que zdump produzca información detallada en la salida?

Si quieres que zdump produzca información detallada, utiliza la opción de línea de comandos -v. Por ejemplo, el siguiente comando

zdump -v Singapore

produce esta salida:

Singapore  -9223372036854775808 = NULL
Singapore  -9223372036854689408 = NULL
Singapore  Mon Dec 31 17:04:34 1900 UT = Mon Dec 31 23:59:59 1900 LMT isdst=0 gmtoff=24925
Singapore  Mon Dec 31 17:04:35 1900 UT = Tue Jan  1 00:00:00 1901 SMT isdst=0 gmtoff=24925
Singapore  Wed May 31 17:04:34 1905 UT = Wed May 31 23:59:59 1905 SMT isdst=0 gmtoff=24925
Singapore  Wed May 31 17:04:35 1905 UT = Thu Jun  1 00:04:35 1905 +07 isdst=0 gmtoff=25200
Singapore  Sat Dec 31 16:59:59 1932 UT = Sat Dec 31 23:59:59 1932 +07 isdst=0 gmtoff=25200
Singapore  Sat Dec 31 17:00:00 1932 UT = Sun Jan  1 00:20:00 1933 +0720 isdst=1 gmtoff=26400
Singapore  Tue Dec 31 16:39:59 1935 UT = Tue Dec 31 23:59:59 1935 +0720 isdst=1 gmtoff=26400
Singapore  Tue Dec 31 16:40:00 1935 UT = Wed Jan  1 00:00:00 1936 +0720 isdst=0 gmtoff=26400
Singapore  Sun Aug 31 16:39:59 1941 UT = Sun Aug 31 23:59:59 1941 +0720 isdst=0 gmtoff=26400
Singapore  Sun Aug 31 16:40:00 1941 UT = Mon Sep  1 00:10:00 1941 +0730 isdst=0 gmtoff=27000
Singapore  Sun Feb 15 16:29:59 1942 UT = Sun Feb 15 23:59:59 1942 +0730 isdst=0 gmtoff=27000
Singapore  Sun Feb 15 16:30:00 1942 UT = Mon Feb 16 01:30:00 1942 +09 isdst=0 gmtoff=32400
Singapore  Tue Sep 11 14:59:59 1945 UT = Tue Sep 11 23:59:59 1945 +09 isdst=0 gmtoff=32400
Singapore  Tue Sep 11 15:00:00 1945 UT = Tue Sep 11 22:30:00 1945 +0730 isdst=0 gmtoff=27000
Singapore  Thu Dec 31 16:29:59 1981 UT = Thu Dec 31 23:59:59 1981 +0730 isdst=0 gmtoff=27000
Singapore  Thu Dec 31 16:30:00 1981 UT = Fri Jan  1 00:30:00 1982 +08 isdst=0 gmtoff=28800
Singapore  9223372036854689407 = NULL
Singapore  9223372036854775807 = NULL

Así es como la página de manual explica esta opción:

 -v   
For each zonename on the command line, print the time at the lowest possible time value, the time
one day after the lowest possible time value, the times both one second before and exactly at each
detected time discontinuity, the time at one day less than the highest possible time value, and
the time at the highest possible time value. Each line ends with isdst=1 if the given time is
Daylight Saving Time or isdst=0 otherwise.

Q3. ¿Qué hace la opción -c?

La opción -c corta la salida verbosa cerca del inicio de los años dados. Así es como lo explica la página del manual:

-c [loyear,]hiyear

Cut off the verbose output near the start of the given year(s).  The output still includes the
lowest  possible  time  value and one day after it, and the highest possible time value preceded
by the time value one day before it.

Este es un ejemplo:

zdump -v -c 1935 Singapore

Y aquí está la salida:

Singapore  -9223372036854775808 = NULL
Singapore  -9223372036854689408 = NULL
Singapore  Mon Dec 31 17:04:34 1900 UT = Mon Dec 31 23:59:59 1900 LMT isdst=0 gmtoff=24925
Singapore  Mon Dec 31 17:04:35 1900 UT = Tue Jan  1 00:00:00 1901 SMT isdst=0 gmtoff=24925
Singapore  Wed May 31 17:04:34 1905 UT = Wed May 31 23:59:59 1905 SMT isdst=0 gmtoff=24925
Singapore  Wed May 31 17:04:35 1905 UT = Thu Jun  1 00:04:35 1905 +07 isdst=0 gmtoff=25200
Singapore  Sat Dec 31 16:59:59 1932 UT = Sat Dec 31 23:59:59 1932 +07 isdst=0 gmtoff=25200
Singapore  Sat Dec 31 17:00:00 1932 UT = Sun Jan  1 00:20:00 1933 +0720 isdst=1 gmtoff=26400
Singapore  9223372036854689407 = NULL
Singapore  9223372036854775807 = NULL

Conclusión

De acuerdo, el comando zdump no es el tipo de herramienta que la mayoría de nosotros necesitaremos a diario, pero es una utilidad práctica que deberías conocer, pues nunca se sabe cuándo puedes necesitarla. Puedes acceder a más detalles sobre zdump dirigiéndote a su página man.

También te podría gustar...