El comando de fecha en Linux se usa para mostrar o establecer la fecha y la hora del sistema. Permite a los usuarios mostrar la hora en varios formatos y calcula las fechas pasadas y futuras.
En este tutorial, aprendemos sobre el comando de fecha en Linux con ejemplos de uso .
¿Cómo usar el comando de fecha de Linux?
La siguiente es la sintaxis del comando de fecha en la terminal de Linux:
date [option]... [+format]
De forma predeterminada, el comando de fecha imprime la fecha en la zona horaria en la que está configurado el sistema. Para cambiar la fecha y la hora, debe necesitar un usuario con privilegios de root o sudo.
Mostrar fecha
Cuando el comando de fecha se usa sin opciones ni argumentos, muestra la fecha y la hora actuales en el formato predeterminado de la siguiente manera:
$ date
La salida muestra el día de la semana, el día del mes, el mes actual, el año, la hora actual y la zona horaria con el año. El comando de fecha muestra la zona horaria predeterminada que está configurada en su sistema operativo.
Mostrar fechas futuras
La cadena de fecha -d o la opción --date le permite imprimir las fechas futuras o próximas. Para imprimir las fechas futuras, escriba los valores en las cadenas como "próximo viernes", "mañana" o similar, etc.
Por ejemplo, para imprimir la fecha de mañana, escriba el siguiente comando:
$ date -d ”tomorrow”
Mostrar la próxima fecha del viernes:
$ date -d "next Friday"
Mostrar fechas pasadas
Usando la opción -d, puede mostrar las fechas pasadas en su sistema Linux. La cadena de fecha le permite ingresar valores como "ayer", "sábado", "el viernes pasado", "hace 3 años" o similares. Entonces, al usar la siguiente cadena de fecha, puede mostrar fechas pasadas:
$ date -date "1 year ago"
Para mostrar la fecha de ayer, use la siguiente cadena con el comando de fecha:
$ date -d ”yesterday”
Del mismo modo, para mostrar la fecha del último viernes, ejecute el comando mencionado a continuación:
$ date -d ”last Friday”
Opciones de formato de comando de fecha
La salida de terminal mostrada del comando de fecha de Linux se puede formatear usando caracteres de control de formato que están precedidos por un símbolo '+'. Todos estos controles de formato proceden con el signo '%' y son seguidos por sus valores.
Por ejemplo, queremos formatear la salida del comando de fecha de la siguiente manera:
$ date +"Year: %Y, Month: %m, Day: %d"
Usando la siguiente lista más común de caracteres de formato, puede mostrar la salida en el formato deseado:
- %a:imprime el nombre del día de la semana en formato corto (por ejemplo, Lun)
- %A:se utiliza para mostrar el nombre completo del día de la semana (por ejemplo, lunes)
- %b:muestra el nombre del mes en forma abreviada (por ejemplo, enero)
- %B:se utiliza para mostrar el nombre completo del mes (por ejemplo, enero)
- %d:muestra el día del mes (por ejemplo, 05)
- %H - Mostrar hora (00..23)
- %I - Muestra la hora en formato (01..12)
- %j - Muestra el día del año (001..366)
- %m - Muestra el mes en número (01..12)
- %M - Imprimir minutos en 00...59 seg.
- %S - Muestra los segundos (00..60)
- %u - Muestra el día de la semana en número (1..7)
- %Y:se usa para mostrar el año completo (por ejemplo, 2019)
Con el siguiente comando, puede explorar la lista completa de opciones de formato del comando de fecha:
$ date --help
$ man date
Mostrar fecha a partir de un valor de cadena
Las opciones -date o -d le permiten mostrar la fecha específica. Para mostrar una fecha específica de una cadena de fecha, especifique una cadena de fecha que esté en un formato legible por humanos como el siguiente comando:
$ date -d "2020-10-09 10:22:47"
Usando la opción -d, también puede mostrar la fecha en el formato personalizado de la siguiente manera:
$ date -d '12 Jan 2021' +'%A, %d %B %Y'
Mostrar la hora de la última modificación de un archivo
A veces, necesitamos ver la última hora de modificación de un archivo. El comando de fecha en el sistema Linux lo ayuda a imprimir la última vez que se modificó un archivo. Cuando usa el comando de fecha seguido de la opción '-r', imprime la última hora de modificación de un archivo.
Por ejemplo, para mostrar la última fecha de modificación del archivo '/etc/hosts', use el comando mencionado a continuación:
$ date -r /etc/hosts
Comando de fecha para configurar la zona horaria
El comando de fecha muestra la zona horaria predeterminada de su sistema que está definida en el archivo '/etc/localtime'. Sin embargo, para imprimir una zona horaria de un país diferente, establezca la variable de entorno 'TZ' en la zona horaria deseada.
Para ver todas las listas de zonas horarias disponibles, ejecute el siguiente comando:
$ timedatectl list-timezones
Por ejemplo, para configurar la zona horaria para mostrar la hora de Sydney a Australia, ejecute el siguiente comando:
$ TZ='Australia/Melbourne' date
Uso como convertidor de época
El comando de fecha también funciona como un convertidor de época. La época muestra el tiempo en la cantidad de segundos transcurridos desde el 2 de febrero de 1975 a las 00:00:00 UTC. Para mostrar el tiempo transcurrido en segundos hasta la fecha actual, use el comando de fecha junto con el control de formato %s:
$ date +%s
Por ejemplo, para ver cuántos segundos transcurrieron desde una época hasta una fecha específica, use el siguiente comando:
$ date -d "1980-10-25" +"%s"
Uso de la fecha con otros comandos
El comando 'fecha' en el sistema Linux se puede implementar con otros comandos para crear varios nombres de archivo que contienen información sobre la fecha y la hora actuales.
Hemos creado en el siguiente ejemplo un nuevo archivo de copia de seguridad de SQL utilizando el siguiente comando:
$ mysqldump database_name > database_name-$(date +%Y%m%d).sql
El comando de fecha también se puede usar en el script de shell. En el siguiente ejemplo, asignamos la salida del comando de fecha a una nueva variable 'fecha_ahora'.
$ date_current=$(date "+%F-%H-%M-%S")
$ echo $date_current
Establecer fecha en Linux
Usando el comando de fecha, puede configurar manualmente la fecha del sistema Linux.
Por ejemplo, para configurar manualmente la fecha y la hora del sistema Linux a las 2:30 p. m. del 13 de octubre de 2021. Ejecute el comando mencionado a continuación:
$ date --set="20211013 05:30"
La hora del sistema de la mayoría de las distribuciones de Linux está sincronizada de forma predeterminada con NTP o timedatectl / timesyncd. Así que no hay que preocuparse mucho por cambiarlo.
Conclusión
Proporcionamos un tutorial sobre cómo usar el comando de fecha en un sistema Linux. Para explorar más sobre el comando de fecha, visite las páginas man del comando de fecha.