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

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

El comando de fecha es un programa de 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.

$ que fecha $ type -A fecha 
Buscar ubicación de comando de fecha

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

$ Fecha 
Verifique la fecha en Linux

Cambiar la fecha y hora del sistema Linux

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

$ date --set = "jueves 12 de noviembre 13:06:59 ist 2020" $ HwClock --systohc 
Establezca la fecha y hora del sistema Linux

Opciones de formato

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

$ hombre cita 

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

  • Para aplicar el uso del formato "+ seguido por "formatero".
  • Para obtener una lista de opciones de formato para Gnu \ Linux, eche un vistazo a la página del hombre vinculado.
  • Para obtener una lista de opciones de formato para BSD, eche un vistazo a la página del hombre vinculado.

Las dos partes importantes del comando de fecha está usando formato +De % y opción de fecha.

Ahora aplicemos algún formato en el comando de fecha. Para aplicar el formateo, agregar más signo (+) seguido por %Formatter Como se muestra en ejemplos.

Fecha de manejo en Linux

Echemos un vistazo a cómo usar Formateros relacionados con la fecha en un simple script de shell llamado 'fecha.mierda'.

# Año de impresión, mes, día y fecha ... echo "Estamos en el año = $ (fecha + %y)" echo "estamos en el año = $ (fecha + %y)" # diferencia entre %y y %y IS %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 %by %b es, %b imprimirá el nombre de mes completo, mientras que %b imprimirá el nombre de mes abreviado. echo "día actual del mes = $ (fecha +%d)" echo "día actual de la semana = $ (fecha +%a)" eco "día actual de la semana = $ (fecha +%a)" # diferencia Entre %a y %a is, %a imprimirá el nombre completo de lunes a viernes, mientras que %a imprimirá el nombre abreviado de los días de semana. # En lugar de formatear para obtener la fecha, podemos usar %D que imprimirá la fecha como %m/ %d/ %y o %F que imprime en %y- %m- %d formato. echo "fecha usando %d = $ (fecha + %d)" eco "fecha usando %f = $ (fecha + %f)" 
Encontrar fecha y hora usando script

Tiempo de manejo en Linux

Echemos un vistazo a cómo usar tiempo formatúas relacionadas en un script de shell simple llamado 'tiempo.mierda'.

# Horas de impresión, mins, segundos, nano segundos Horas de eco = $ (fecha +%h) Minutiones de eco = $ (fecha +%m) Echo segundos = $ (fecha +%s) Echo nanosegundos = $ (fecha +%n) Echo Epoch Time = $ (fecha +%s) echo "hora actual = $ (fecha +%h:%m:%s:%n)" # también puede usar%t que muestra tiempo en HH: mm: formato SS. echo "Tiempo actual en formato de 24 horas = $ (fecha + %t)" # también puede usar %R para mostrar el tiempo en formato de 12 horas. echo "Tiempo actual en formato de 12 horas = $ (fecha +%r)" 
Encuentra tiempo en Linux usando script

Con -date o -d bandera

Con --fecha o -d La entrada del indicador se puede pasar como cadena y comando de fecha sabe manejarlo de manera inteligente.

Veamos algunos ejemplos para entender cómo funciona.

# Imprimir la fecha y hora de ayer. echo "ayer = $ (fecha -d" ayer ")" # imprimir mañana fecha y hora. echo "mañana = $ (fecha -d" mañana ")" # Encuentra cuál es 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 ")" # encontrar el mes pasado y el próximo mes echo "el mes pasado = $ (fecha -d" el mes pasado ""%b ")" echo "el próximo mes = $ (fecha -d "próximo mes" "%b") " # encontrar el año pasado y el próximo año eco" el año pasado = $ (fecha -d "el año pasado" "+%y") "echo" el próximo año = $ (fecha -d "el próximo año" "+%y") " # pronosticado el eco de los días de semana" a 2 días de hoy y se produce de lunes a viernes? = $ (fecha -d "hoy +2 días" " +%a") 
Verifique la fecha utilizando el formato

Operaciones comunes

Calcule el número de días entre 2 fechas dadas.

$ Echo $ (((($ (fecha -d "2020-11-10" "+%s")-$ (fecha -d "2020-11-01" "+%s")) / 86400))) 

Encuentra que el año dado es el año salpio o no.

$ para y en 2000 ... 2020; DO FECHA -D $ Y-02-29 &>/dev/null && echo $ y es el año salto; hecho 
Encuentra el año salto en Linux

Asignación del comando de salida de fecha a una variable.

$ Hoy = $ (fecha +%y-%m-%d) o $ hoy1 = $ (fecha +%f) $ echo $ hoy $ echo $ hoy1 
Asignar fecha a la variable

Crear archivos de registro con la fecha agregada al nombre de archivo.

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

Este guión tomará una copia de seguridad de 00:00 a 23:59 y está programado para funcionar diariamente a las 00:00 del día siguiente. Queremos crear archivos de registro con el formato de fecha de ayer.

Custom_Format = $ (fecha-Fecha "ayer" "+%d-%y-%h:%m") log_file =/var/log/custom_application/aplicación _ $ custom_format.log echo "script iniciado" >> $ log_file ... bloqueos de código ... echo "script completado" >> $ log_file 

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