Como trabalhar com data e hora no Bash usando o comando date
- 2045
- 255
- Robert Wunsch DVM
Date Command é um programa de bash externo que permite definir ou exibir a data e a hora do sistema. Ele também fornece várias opções de formatação. O comando de data está instalado em todas as distribuições Linux por padrão.
$ que data $ tipo -A DataEncontre o local do comando de data
Tipo comando de data no terminal que exibirá a data e hora atuais.
$ dataData de verificação no Linux
Alterar a data e a hora do sistema Linux
Usando comando de data, Data do sistema, hora e fuso horário podem ser modificados e a alteração deve ser sincronizada com o relógio de hardware.
$ DAT -SET = "Qui 12 de novembro 13:06:59 IST 2020" $ HWCLOCK -SystohcDefina a data e a hora do sistema Linux
Opções de formatação
Um bom lugar para obter a lista de opções de formatação será a página do homem.
$ data de homem
Vamos ver algumas das opções de formatação mais comuns que usaremos.
- Para aplicar a formatação, use “+ seguido pela "formatador““.
- Para obter uma lista de opções de formatação para GNU \ Linux, dê uma olhada na página do homem vinculado.
- Para obter uma lista de opções de formatação para o BSD, dê uma olhada na página do homem vinculado.
As duas partes importantes do comando de data está usando formato +%
e -date opção.
Agora vamos aplicar alguma formatação no comando de data. Para aplicar a formatação, adicione mais sinal (+)
seguido pela %formatador
Como mostrado em exemplos.
Data de manuseio no Linux
Vamos dar uma olhada em como usar os formatados relacionados a data em um script de shell simples chamado 'data.sh'.
# Ano de impressão, mês, dia e data… eco "Estamos no ano = $ (data + %y)" echo "Estamos no ano = $ (data + %y)" # diferença entre %y e %y é %y imprimirá 4 dígitos, enquanto %y imprimirá os últimos 2 dígitos do ano. eco "Estamos no mês = $ (data +%m)" echo "Estamos no mês = $ (data +%b)" eco "Estamos no mês = $ (data +%b)" # diferença Entre %B e %B é, %B imprimirá o nome do mês inteiro, enquanto %B imprimirá o nome do mês abreviado. eco "Dia atual do mês = $ (data +%d)" echo "dia atual da semana = $ (data +%a)" eco "dia atual da semana = $ (data +%a)" # diferença Entre %A e %A é, %A imprimirá o nome da semana completa, enquanto %A imprimirá o nome da semana abreviada. # Em vez de formatar para obter a data, podemos usar %d, que imprimirá a data como %m/ %d/ %y ou %f, que impressa em %y- %m- %d formato. eco "data usando %d = $ (data + %d)" Echo "Data usando %f = $ (data + %f)"Encontre data e hora usando o script
Tempo de manuseio no Linux
Vamos dar uma olhada em como usar tempo Formatatos relacionados em um script de shell simples chamado 'tempo.sh'.
# Horário de impressão, mins, segundos, nano segundos eco horas = $ (data +%h) eco minutos = $ (data +%m) eco segundos = $ (data +%s) nanossegundos de eco = $ (data +%n) ECHO Epoch Time = $ (data +%s) echo "Hora atual = $ (data +%h:%m:%s:%n)" # também pode usar%t que exibe tempo em hh: mm: formato SS. eco "horário atual em formato 24 horas = $ (data + %t)" # também pode usar %r para exibir tempo em formato de 12 horas. eco "horário atual em formato de 12 horas = $ (data +%r)"Encontre tempo no Linux usando o script
Com -date ou -d sinalizador
Com --data
ou -d
A entrada de sinalizador pode ser passada como string e comando de data sabe lidar com isso de maneira inteligente.
Vamos ver alguns exemplos para entender como funciona.
# Imprima a data e hora de ontem. eco "ontem = $ (data -d" ontem ")" # Imprima a data e hora de amanhã. eco "amanhã = $ (data -d" amanhã ")" # encontre qual é a data e hora antes de 10 dias daqui a. eco "antes de 10 dias = $ (data -d" amanhã -10 dias ")" # Encontre no mês passado e no próximo mês Echo "no mês passado = $ (data -d" no mês passado ""%b ")" eco "no próximo mês = $ (data -d "próximo mês" "%b") "Encontre no ano passado e no próximo ano eco" no ano passado = $ (data -d "no ano passado" "+%y") "echo" no próximo ano = $ (Data -d "próximo ano" "+%y") " # prevê o eco da semana" a 2 dias a partir de hoje e vem nos dias úteis? = $ (data -d "hoje +2 dias" " +%a")Verifique a data usando formatação
Operações comuns
Calcule o número de dias entre 2 datas dadas.
$ echo $ ((($ (data -d "2020-11-10" "+%s")-$ (data -d "2020-11-01" "+%s") / 86400))
Encontre que o ano determinado é um ano bisseiro ou não.
$ para y em 2000… 2020; DATA -D $ Y-02-29 &>/DEV/NULL && eco $ y é ano bissenhoso; feitoEncontre o ano bissealho no Linux
Atribuindo a saída do comando de data a uma variável.
$ Today = $ (data +%y-%m-%d) ou $ Today1 = $ (data +%f) $ echo $ Today $ echo $ Today1Atribuir data à variável
Crie arquivos de log com a data adicionada ao nome do arquivo.
Adicionar data e hora ao criar arquivos de log, backup ou arquivos de texto é uma operação comum que encontraremos com mais frequência. Vamos dar um exemplo, para fazer um backup, criamos um script de shell.
Este script receberá um backup de 00:00 às 23:59 e programado para ser executado diariamente às 00:00 do dia seguinte. Queremos criar arquivos de log com o formato de data de ontem.
Custom_format = $ (data-data "ontem" "+%d-%y-%h:%m") log_file =/var/log/custom_application/aplicativo _ $ custom_format.LOG ECHO "Script Iniciado" >> $ LOG_FILE… Blocos de código… ECHO ”Script concluído” >> $ LOG_FILE
É isso para este artigo. Neste artigo, vimos como usar a data e a hora do Bash no Linux. Deixe -nos saber seu feedback.
- « Como criar um certificado SSL auto-signitado local no CentOS 8
- Zeit - uma ferramenta GUI para agendar Cron e em Jobs in Linux »