Android

Comando de data do Linux com exemplos

Ajuda Linux - Dia 296 - Como habilitar data e hora no histórico de comandos do shell

Ajuda Linux - Dia 296 - Como habilitar data e hora no histórico de comandos do shell

Índice:

Anonim

O comando date exibe ou define a data do sistema. É mais comumente usado para imprimir a data e a hora em diferentes formatos e calcular datas futuras e passadas.

Neste tutorial, abordaremos o básico do comando date.

Usando o comando date do Linux

A sintaxe para o comando date é a seguinte:

date…

Para exibir a hora e a data atuais do sistema usando a formatação padrão, chame o comando sem nenhuma opção:

date

A saída incluirá o dia da semana, mês, dia do mês, hora, fuso horário e ano:

Sat Jun 1 14:31:01 CEST 2019

Opções de formatação de data

A saída da date pode ser formatada com uma sequência de caracteres de controle de formato precedidos por um sinal de + . Os controles de formato começam com o símbolo % e são substituídos por seus valores.

date +"Year: %Y, Month: %m, Day: %d"

O caractere %Y será substituído pelo ano, %m pelo mês e %d pelo dia do mês:

Year: 2019, Month: 06, Day: 02

Aqui está outro exemplo:

date "+DATE: %D%nTIME: %T"

DATE: 06/02/19 TIME: 01:47:04

Abaixo está uma pequena lista de alguns dos caracteres de formatação mais comuns:

  • %a - Nome abreviado do local da semana abreviado da localidade (por exemplo, segunda-feira) %A - Nome abreviado do local da semana abreviado (por exemplo, segunda-feira) %b - Nome abreviado do local da semana abrigado (por exemplo, janeiro) %B - Nome abreviado do local da região abreviado (por exemplo, janeiro) %B - Nome abreviado do local da abreviação (por exemplo, janeiro) - Dia do mês (por exemplo, 01) %H - Hora (00..23) %I - Hora (01..12) %j - Dia do ano (001..366) %m - Mês (01..12) %M - Minuto (00..59) %S - Segundo (00..60) %u - Dia da semana (1, 77) %Y - Ano completo (por exemplo, 2019)

Para obter uma lista completa de todas as opções de formatação, execute date --help ou man date no seu terminal.

Date String

A opção -d permite operar em uma data específica. Você pode especificar a data como uma sequência de datas legível por humanos, como abaixo:

date -d "2010-02-07 12:10:53"

Sun Feb 7 12:10:53 CET 2010

Usando a formatação personalizada:

date -d '16 Dec 1974' +'%A, %d %B %Y'

Monday, 16 December 1974

A sequência de datas também pode aceitar valores como "amanhã", "sexta-feira", "última sexta-feira" "próxima sexta-feira", "próximo mês", "próxima semana"..etc.

date -d "last week"

Sat May 25 14:31:42 CEST 2019

Você também pode usar a opção de sequência de datas para mostrar seu horário local para diferentes fusos horários. Por exemplo, para mostrar a hora local às 6:30 da manhã da próxima segunda-feira na costa leste da Austrália, digite:

date -d 'TZ="Australia/Sydney" 06:30 next Monday'

Sun Jun 2 22:30:00 CEST 2019

Substituir o fuso horário

O comando date usa o fuso horário do sistema padrão. Para usar um fuso horário diferente, configure a variável de ambiente TZ para o fuso horário desejado.

Por exemplo, para mostrar o horário de Melbourne, Austrália, digite:

TZ='Australia/Melbourne' date

Sat Jun 1 22:35:10 AEST 2019

Para listar todos os fusos horários disponíveis, você pode listar os arquivos no /usr/share/zoneinfo ou usar o timedatectl list-timezones .

Epoch Converter

O comando date pode ser usado como um conversor Epoch. Epoch, ou Unix timestamps, é o número de segundos decorridos desde 1 de janeiro de 1970 às 00:00:00 UTC.

Para imprimir o número de segundos da época até o dia atual, use o controle de formato %s :

date +%s

1559393792

Para converter segundos desde a época até a data, defina os segundos como uma sequência de datas prefixada com @ :

date -d @1234567890

Sat Feb 14 00:31:30 CET 2009

Usando data com outros comandos

O comando date é usado com mais freqüência para criar nomes de arquivos que contêm a hora e a data atuais.

O comando abaixo criará um arquivo de backup Mysql no seguinte formato database_name-20190601.sql

mysqldump database_name > database_name-$(date +%Y%m%d).sql

Você também pode usar o comando date em seus scripts de shell. No exemplo abaixo, estamos atribuindo a saída de date à variável date_now :

date_now=$(date "+%F-%H-%M-%S") echo $date_now

2019-06-01-15-02-27

Exibir a hora da última modificação de um arquivo

O comando date com a opção -r mostra a hora da última modificação de um arquivo. Por exemplo:

date -r /etc/hosts

Tue Jul 24 11:11:48 CEST 2018

Defina a hora e a data do sistema

Definir a hora e a data do sistema manualmente com o comando date geralmente não é recomendado, porque na maioria das distribuições Linux o relógio do sistema é sincronizado usando os serviços ntp ou systemd-timesyncd .

No entanto, se você deseja definir o relógio do sistema manualmente, pode usar a opção --set= . Por exemplo, se você quiser definir a data e a hora para 17:30, 01 de junho de 2019, digite:

date --set="20190601 17:30"

Conclusão

Até agora você deve ter um bom entendimento de como usar o comando date do Linux.

data terminal