Introducción
Linux date El comando muestra y establece la fecha y la hora del sistema. Este comando también permite a los usuarios imprimir la hora en diferentes formatos y calcular fechas futuras y pasadas.
Siga leyendo para aprender a usar la date comando en Linux.
Requisitos previos
- Un sistema que ejecuta Linux
- Una cuenta de usuario con privilegios de root
- Acceso a una ventana de terminal/línea de comando
Sintaxis del comando de fecha de Linux
La sintaxis de la date el comando es:
date [option]... [+format] Cómo usar el comando de fecha en Linux
Para mostrar la hora y la fecha actual del sistema, escriba la date comando:
date
La salida muestra el día de la semana, el día del mes, el mes, el año, la hora actual y la zona horaria. De forma predeterminada, la date el comando se establece en la zona horaria del sistema operativo.
El -d opción permite a los usuarios operar en una fecha específica. Por ejemplo, podemos escribir el siguiente comando:
date -d "2000-11-22 09:10:15"
Puedes usar el --date comando para mostrar la cadena de fecha dada en el formato de una fecha. Este comando no afecta los valores reales de fecha y hora del sistema, y solo imprime la fecha solicitada. Por ejemplo:
date --date="09/10/1960"
Opciones de formato de comando de fecha de Linux
Para formatear la date salida del comando, puede usar caracteres de control precedidos por un + señal. Los controles de formato comienzan con el % símbolo y se sustituyen por sus valores actuales.
Aquí, el %Y el carácter se reemplaza con el año actual, %m con mes y %d con el día del mes:
date +"Year: %Y, Month: %m, Day: %d"
Aquí hay otros dos ejemplos de formato:
date "+DATE: %D%nTIME: %T" 
date +"Week number: %V Year: %y"
Estos son los caracteres de formato más comunes para la date comando:
%D– Muestra la fecha como mm/dd/yy%Y– Año (por ejemplo, 2020)%m– Mes (01-12)%B– Nombre largo del mes (p. ej., noviembre)%b– Nombre corto del mes (p. ej., noviembre)%d– Día del mes (p. ej., 01)%j– Día del año (001-366)%u– Día de la semana (1-7)%A– Nombre completo del día de la semana (p. ej., viernes)%a– Nombre corto del día de la semana (p. ej., viernes)%H– Hora (00-23)%I– Hora (01-12)%M– Minuto (00-59)%S– Segundo (00-60)
Para ver todas las opciones de formato, ejecute date --help o el comando man man date en tu terminal.
Establecer o cambiar la fecha en Linux
Para cambiar el reloj del sistema manualmente, use el comando set. Por ejemplo, para establecer la fecha y la hora en 5:30 p. m., 13 de mayo de 2010 , escriba:
date --set="20100513 05:30"
La mayoría de las distribuciones de Linux tienen el reloj del sistema sincronizado usando el ntp o el systemd-timesyncd servicios, así que tenga cuidado al configurar el reloj manualmente.
Mostrar fechas pasadas
Usa el --date Opción para mostrar fechas pasadas en Linux. La date El comando acepta valores como "tomorrow" , "Friday" , "last Friday" , "next Friday" , "next week" y similares. Entonces, use las siguientes cadenas para imprimir fechas pasadas::
date --date="2 year ago" 
date --date="yesterday" 
date --date="10 sec ago"
Mostrar fechas futuras
El --date La opción también puede mostrar fechas futuras. Al igual que con las fechas pasadas, puede escribir cadenas para imprimir las próximas fechas:
date --date="next monday" 
date --date="4 day" 
date --date="tomorrow"
Mostrar la cadena de fecha en la línea del archivo
El --file La opción imprime la cadena de fecha presente en cada línea del archivo. A diferencia de --date opción, --file puede presentar varias cadenas de fecha en cada línea.
Esta es la sintaxis del --file comando:
date --file=file_name.txt Aquí usamos el comando cat para agregar fechas a un archivo y luego imprimirlas con el comando de fecha:
Mostrar la marca de tiempo de la última modificación de un archivo de fecha
Cuando usa el -r opción, la date El comando imprime la hora de la última modificación de un archivo. Por ejemplo, el siguiente comando imprime la última vez que se cambió el archivo de hosts:
date -r /etc/hosts
Anular una zona horaria
De forma predeterminada, la date El comando usa la zona horaria definida en /etc/localtime . Para usar una zona horaria diferente en el entorno, configure el TZ variable a la zona horaria deseada.
Por ejemplo, para cambiar a la hora de Nueva York, ingrese:
TZ='America/New_York' date
Escriba la date comando para devolver el sistema a su zona horaria predeterminada. Para ver todas las zonas horarias disponibles, utilice timedatectl list-timezones comando.
La date El comando también puede mostrar la hora local para una zona horaria diferente. Por ejemplo, para mostrar la hora local a las 4:30 p. m. del próximo lunes en la costa este de Australia, escriba:
date -d 'TZ="Australia/Sydney" 04:30 next Monday'
Usar fecha con otros comandos
Puedes usar la date para crear nombres de archivo que contengan la hora y la fecha actuales. La siguiente entrada crea un archivo MySQL de respaldo en el formato de la fecha actual:
mysqldump database_name > database_name-$(date +%Y%m%d).sql
Otro uso común de la date el comando está en scripts de shell. A continuación asignamos la salida de date al date_now variables:
date_now=$(date "+%F-%H-%M-%S")
Usar tiempo de época de Unix (convertidor de época)
Puedes usar la date comando como un convertidor de época. Época, o marcas de tiempo de Unix, es la cantidad de segundos que han pasado desde el 1 de enero de 1970 a las 00:00:00 UTC.
Para mostrar el número de segundos desde la época hasta el día actual, use el %s control de formato:
date +%s
Para ver cuántos segundos pasaron desde la época hasta una fecha específica, ingrese:
$ date -d "1984-04-08" +"%s"