9 ejemplos prácticos del comando date de Linux

Conoce el comando de fecha de Linux. No, no puede conseguirte una velada romántica. Pero puede formatear la fecha en la parte superior de una carta de amor que escribió en la terminal. ¿Suficientemente cerca? Empecemos.

Mientras crea scripts en Bash, inevitablemente necesitará imprimir una fecha u hora, y esa fecha u hora a menudo deberá estar en un formato específico para satisfacer los requisitos de otras funciones. Ahí es cuando entra en juego el comando de fecha.

Como verá, el comando date en Linux es simple y versátil, lo que significa que aceptará todo tipo de entrada y generará fechas en una multitud de formatos. También tiene otras funciones especiales para diversas tareas informáticas relacionadas con el tiempo. Aprender las opciones y la sintaxis de la fecha definitivamente lo hará más hábil en la creación de scripts y tal vez más puntual.

Sintaxis básica del comando de fecha

La sintaxis básica del comando de fecha es la siguiente:

 date [OPTION]... [+FORMAT]

Eso significa que después de ingresar la fecha , puede ingresar una opción, como -d o -s , para invocar una función en particular, que explicaremos a continuación.

También puede seguirlos con cadenas de formato, que siempre comienzan con un carácter + . Esas cadenas toman caracteres de formato específicos, que también se enumeran a continuación, para definir la salida.

Ejemplos prácticos del comando date de Linux

Puede utilizar el comando de fecha de varias formas. Consideremos los casos de uso más comunes y útiles de los mismos.

1. Obtenga la fecha y hora actuales

Puede obtener la fecha y hora local actual en el formato predeterminado pasando el comando de fecha por sí solo.

 $ date
Mon 19 Apr 2021 12:41:17 PM CDT

Como puede ver, la fecha le brinda la información de fecha y hora relevante en un formato simple y predecible.

2. Obtenga una fecha pasada o futura

Digamos que en su guión necesita calcular la hora y la fecha exactamente dentro de una semana. El comando de fecha lo tiene cubierto. Emita este comando, utilizando la opción -d para obtener información detallada relacionada con fechas futuras:

 $ date -d "next week"
Tue 27 Apr 2021 05:21:07 PM CDT

La opción -d , abreviatura de fecha, es donde realmente brilla el comando de fecha. Aceptará una variedad de cadenas de fechas personalizadas; pueden ser técnicos, como 20200315 , 15/03/20 , o legibles como el 15 de marzo de 2020 . Pero también puede usar términos relativos, como mañana , ayer , el próximo domingo y más. Juegue con él y vea cómo la fecha interpreta las diferentes cadenas de entrada.

3. Dar formato a una fecha

Es posible que haya notado en los dos ejemplos anteriores que la fecha tiene un formato de hora muy específico de forma predeterminada. Entonces, ¿qué pasa si lo necesita en un formato diferente?

Puede formatear su salida de forma similar al comando printf . Por ejemplo, puede imprimir el año actual con este comando:

 date +"Year: %Y"

El + indica que desea una cadena formateada, y lo que aparezca después dentro de las comillas , la fecha se procesará y formateará para la salida.

Aquí hay una lista de los caracteres de formato que es más probable que use:

Carácter de formato Producción
% H Hora (00-24)
%I Hora (01-12)
%METRO Minuto (00-59)
%S Segundo (00-60)
%pag Am o PM
%A Nombre completo del día de la semana (p. Ej., Domingo)
%a Nombre abreviado del día de la semana (p. Ej., Domingo)
% w Número de día de la semana (0-6)
%D Día del mes (01-31)
% j Día del año (001-366)
%B Nombre completo del mes (por ejemplo, enero)
%B Nombre abreviado del mes (por ejemplo, enero)
%metro Número de mes (01-12)

Puede obtener una lista completa de caracteres de formato usando la opción –help en la terminal.

 date --help

4. Obtenga el día de la semana

Un uso muy común y práctico del formato de fecha es obtener el día de la semana para una fecha determinada. Por ejemplo, para verificar en qué día de la semana cayó el 4 de noviembre de 1995, ingrese un comando similar a este:

 $ date -d "1996-04-11" +"%A"
Friday

La opción -d indica que desea una fecha específica, la cadena "1996-04-11" indica qué fecha desea y el formato + "% A" indica que desea el día de la semana en la salida. Recuerde que la cadena de fecha puede tener muchos formatos, no solo el que se especifica aquí.

5. Obtenga tiempo universal coordinado

Al emitir el indicador -u , puede obtener la hora actual en hora universal coordinada (UTC).

 $ date -u
Wed 21 Apr 2021 12:46:59 PM UTC

6. Salida de la hora local en otra zona horaria

Si necesita obtener una fecha en cualquier otra zona horaria, puede hacerlo configurando la variable de entorno TZ = antes del comando de fecha.

Por ejemplo, puede ver la fecha y hora actuales en la hora estándar de la montaña (MST) con el siguiente comando:

 $ TZ=MST date
Tue 20 Apr 2021 03:45:29 PM MST

Para sus propósitos, simplemente reemplace MST con las iniciales de la zona horaria que prefiera. También puede optar por utilizar la notación UTC. Por ejemplo, para obtener la misma zona horaria, reemplace MST por UTC + 7 .

Además, puede nombrar un continente y una ciudad importante para obtener la hora local de esa ciudad en particular. Por ejemplo:

 $ TZ=America/Phoenix date
Tue 20 Apr 2021 03:45:29 PM MST

7. Obtener la hora de la última modificación de un archivo

Si está creando copias de seguridad, por ejemplo, a menudo necesitará obtener la última fecha de modificación de un archivo. Puede hacer esto pasando la opción -r y nombrando un archivo.

 $ date -r /etc/shadow
Wed 14 Apr 2021 07:53:02 AM CDT

También puede cambiar las marcas de tiempo de un archivo usando el comando táctil en Linux .

8. Salida y conversión Epoch Time

Puede calcular el número de segundos desde la época de Unix con el siguiente comando:

 $ date +%s
1618955631

También puede invertir el proceso y convertir la hora Unix en un formato legible por humanos mediante el uso de la opción -d y el carácter @ .

 $ date -d @1618955631
Tue 20 Apr 2021 04:53:51 PM CDT

Calcular el tiempo Unix es útil si necesita un segundo exacto que definitivamente mantendrá sincronizados otros dispositivos.

9. Configure temporalmente la hora del sistema

Puede cambiar el reloj de su sistema desde la terminal con el comando date pasando el argumento -s seguido de la hora que desee. Por ejemplo, puede configurar el reloj del sistema en 24 horas en el futuro con el siguiente comando:

 date -s "tomorrow"

Tenga en cuenta que necesitará privilegios de sudo para pasar este comando. Además, el cambio probablemente no será persistente (lo que significa que su reloj volverá a la hora anterior después de un reinicio) porque la mayoría de las distribuciones usan otras utilidades para administrar el reloj de su sistema que anularán el cambio en el arranque.

Explicación del comando date de Linux

Como en la vida, no se puede escapar del tiempo en Linux. Por eso es crucial que comprenda cómo formatearlo y usarlo, a través del comando de fecha. Una cosa que seguramente encontrará en la administración de archivos de Linux son las distintas marcas de tiempo que los archivos llevan consigo.