Cómo trabajar con fecha y hora en Bash usando el comando de fecha

Cómo trabajar con fecha y hora en Bash usando el comando de fecha

El comando Date es un programa bash externo que permite establecer o mostrar la fecha y hora del sistema. También proporciona varias opciones de formato. El comando de fecha se instala en todas las distribuciones de Linux de forma predeterminada.

$ which date $ type-a date Ubicación del comando de fecha de búsqueda Ubicación del comando de fecha de búsqueda Buscar ubicación del comando de fecha

Escriba comando de fecha. en la terminal que mostrará la fecha y hora actuales.

$ date  Fecha de verificación en Linux Verificar fecha en Linux Verificar fecha en Linux Cambiar la fecha y hora del sistema Linux

Usando comando de fecha. fecha, hora y zona horaria del sistema se puede modificar y el cambio debe sincronizarse con el reloj del hardware.

$ date–set = “Thu Nov 12 13:06:59 IST 2020” $ hwclock–systohc  Establecer la fecha y hora del sistema Linux  Establecer la fecha y hora del sistema Linux Establecer las opciones de formato de fecha y hora del sistema Linux

Un buen lugar para obtener la lista de opciones de formato será la página de manual.

$ man date

Veamos algunas de las opciones de formato más comunes que usaremos.

  • Para aplicar formato, use “ +. seguido de” formateador. “.
  • Para obtener una lista de opciones de formato para GNU \ LINUX, eche un vistazo a la página de manual vinculada.
  • Para obtener una lista de opciones de formato para BSD, eche un vistazo a la página de manual vinculada.

freestar.config.enabled_slots.push (LocationName: ” tecmint_incontent “, slotId:” tecmint_incontent “);

Las dos partes importantes del comando de fecha. es usar la opción Format +% y –date.

Ahora apliquemos algunos formateado en el comando de fecha. Para aplicar el formato, agregue el signo más (+) seguido de% formatter como se muestra en los ejemplos.

Manejo de la fecha en Linux

Veamos cómo usar los formateadores relacionados con la fecha en un script de shell simple llamado ‘ date.sh. ‘.

# IMPRIMIR AÑO, MES, DÍA Y FECHA … echo “Estamos en el año = $ (fecha +% Y)” echo “Estamos en el año = $ (fecha +% y) “# La diferencia entre% Y y% y es% Y imprimirá 4 dígitos, mientras que% y imprimirá los últimos 2 dígitos del año. echo “Estamos en el mes = $ (fecha +% m)” echo “Estamos en el mes = $ (fecha +% b)” echo “Estamos en el mes = $ (fecha +% B)” # Diferencia entre% B y% b es,% B imprimirá el nombre del mes completo mientras que% b imprimirá el nombre del mes abreviado. echo “Día actual del mes = $ (fecha +% d)” echo “Día actual de la semana = $ (fecha +% A)” echo “Día actual de la semana = $ (fecha +% a)” # Diferencia entre% A y% a is,% A imprimirá el nombre completo del día de la semana, mientras que% a imprimirá el nombre abreviado del día de la semana. # En lugar de formatear para obtener la fecha, podemos usar% D que imprimirá la fecha como% m/% d/% yo% F que imprime en formato% Y-% M-% d. echo “Fecha usando% D = $ (fecha +% D)” echo “Fecha usando% F = $ (fecha +% F)”  Encuentra fecha y hora usando Script Buscar fecha y hora usando Script Buscar fecha y hora usando Script Handling Time en Linux

Veamos cómo usar time. relacionado formateadores en un script de shell simple llamado ‘ time.sh. .

# IMPRIMIR HORAS, MINS, SEGUNDOS, NANO SEGUNDOS eco Horas = $ (fecha +% H) eco Minutos = $ (fecha +% M) eco Segundos = $ (fecha +% S) eco Nanosegundos = $ (fecha +% N) echo Epoch Time = $ (date +% s) echo “current time = $ (date +% H:% M:% S:% N)” # también puede usar% T que muestra el tiempo en HH: MM : Formato SS. echo “hora actual en formato de 24 horas = $ (fecha +% T)” # también puede usar% r para mostrar la hora en formato de 12 horas. echo “hora actual en formato de 12 horas = $ (fecha +% r)”  Encontrar tiempo en Linux usando script Encontrar tiempo en Linux mediante script Encuentra la hora en Linux usando un script con la marca –date o-d

Con la marca–date o-d, la entrada se puede pasar como una cadena y el comando de fecha. sabe manejar inteligentemente.

Veamos algunos ejemplos para entender cómo funciona.

# Imprime la fecha y hora de ayer. echo “Ayer = $ (fecha-d” Ayer “)” # Imprimir fecha y hora de mañana. echo “mañana = $ (fecha-d” mañana “)” # Encuentra la fecha y la hora antes de 10 días a partir de ahora. echo “Antes de 10 días = $ (fecha-d” mañana-10 días “)” # Buscar el mes pasado y el mes siguiente echo “El mes pasado = $ (fecha-d” el mes pasado “”% B “)” echo “El mes siguiente = $ (fecha-d “mes siguiente” “% B”) “# Buscar año pasado y año siguiente echo” Año pasado = $ (fecha-d “año pasado” “+% Y”) “eco” Año próximo = $ (fecha-d “año próximo” “+% Y”) “# Pronosticar el eco del día de la semana” ¿2 días antes de hoy y viene en días de semana? = $ (fecha-d “Hoy +2 días” “+% A”)  Verificar la fecha usando el formato  Verificar la fecha usando el formato Verificar la fecha usando las operaciones comunes de formato

calcular el número de días entre 2 fechas determinadas.

$ echo $ ((($ (fecha-d “2020-11-10” “+% s”)-$ (fecha-d “2020-11-01” “+% s”))/86400))

Encuentre el año dado si es bisiesto o no.

$ for y en 2000..2020; do date-d $ y-02-29 &>/dev/null && echo $ y es un año bisiesto; hecho  Buscar año bisiesto en Linux Buscar año bisiesto en Linux Buscar año bisiesto en Linux

Asignando la salida del comando de fecha a una variable.

$ TODAY = $ (fecha +% Y-% m-% d) O $ TODAY1 = $ (fecha +% F) $ echo $ TODAY $ echo $ TODAY1  Asignar fecha a variable Asignar fecha a variable Asignar fecha a variable

Cree archivos de registro con la fecha agregada al nombre del archivo.

Agregar fecha y hora al crear archivos de registro, copias de seguridad o archivos de texto es una operación común que encontraremos con mayor frecuencia. Tomemos un ejemplo, para realizar una copia de seguridad, hemos creado un script de shell.

Este script realizará una copia de seguridad de 00:00 a 23:59 y se programará para ejecutarse diariamente a las 00:00 del próximo día. Queremos crear archivos de registro con el formato de fecha de ayer.

CUSTOM_FORMAT = $ (date–date “Yesterday” “+% d-% y-% H:% M”) LOG_FILE =/var/log/custom_application/application _ $ CUSTOM_FORMAT .log echo “Secuencia de comandos iniciada”>> $ LOG_FILE … BLOQUES DE CÓDIGOS … echo “Secuencia de comandos completada”>> $ LOG_FILE

Eso es todo para este artículo. En este artículo, hemos visto cómo usar bash date y time en Linux. Háganos saber sus comentarios.