9 exemplos práticos do comando Linux date

Conheça o comando de data do Linux. Não, isso não pode te proporcionar uma noite romântica. Mas pode formatar a data no topo de uma carta de amor que você escreveu no terminal. Perto o suficiente? Vamos começar.

Ao fazer o script no Bash, você inevitavelmente precisará imprimir uma data ou hora, e essa data ou hora frequentemente precisará estar em um formato específico para atender aos requisitos de outras funções. É quando o comando de data entra em ação.

Como você verá, o comando date no Linux é simples e versátil, o que significa que aceitará todos os tipos de entrada e gerará datas em uma infinidade de formatos. Ele também possui outras funções especiais para várias tarefas de computação relacionadas ao tempo. As opções e sintaxe da data de aprendizagem certamente o tornarão mais hábil em scripts, e talvez mais pontual.

Sintaxe básica do comando de data

A sintaxe básica do comando date é a seguinte:

 date [OPTION]... [+FORMAT]

Isso significa que, após inserir a data , você pode inserir uma opção, como -d ou -s , para invocar uma função específica, que explicaremos a seguir.

Você também pode acompanhá-los com strings de formatação, que sempre começam com um caractere + . Essas strings usam caracteres de formatação específicos, também listados abaixo, para definir a saída.

Exemplos práticos de comando de datas do Linux

Você pode colocar o comando date em uso de várias maneiras. Vamos considerar os casos de uso mais comuns e úteis do mesmo.

1. Obtenha a data e hora atuais

Você pode obter a data e hora locais atuais no formato padrão passando o comando de data por conta própria.

 $ date
Mon 19 Apr 2021 12:41:17 PM CDT

Como você pode ver, a data fornece as informações relevantes de data e hora em um formato simples e previsível.

2. Obtenha uma data passada ou futura

Digamos que em seu script você precise calcular a hora e a data exatamente daqui a uma semana. O comando de data cobre você. Emita este comando, utilizando a opção -d para obter informações detalhadas relacionadas a datas futuras:

 $ date -d "next week"
Tue 27 Apr 2021 05:21:07 PM CDT

A opção -d , abreviação de data, é onde o comando de data realmente brilha. Ele aceitará uma variedade de strings de data personalizadas; eles podem ser técnicos, como 20200315 , 15/03/20 , ou legíveis, como 15 de março de 2020 . Mas você também pode usar termos relativos, como amanhã , ontem , próximo domingo e muito mais. Brinque com isso e veja como a data interpreta diferentes strings de entrada.

3. Formatar uma data

Você deve ter notado nos dois exemplos anteriores, os padrões de data para um formato de hora muito específico. E se você precisar de um formato diferente?

Você pode formatar sua saída de forma semelhante ao comando printf . Por exemplo, você pode imprimir o ano atual com este comando:

 date +"Year: %Y"

O + sinaliza que você deseja uma string formatada e, o que quer que apareça depois das aspas , a data será processada e formatada para a saída.

Aqui está uma lista dos caracteres de formatação que você provavelmente usará:

Caractere de formatação Resultado
% H Hora (00-24)
%EU Hora (01-12)
% M Minuto (00-59)
% S Segundo (00-60)
% p AM ou PM
%UMA Nome completo do dia da semana (por exemplo, domingo)
%uma Nome abreviado do dia da semana (por exemplo, dom)
%C Número do dia da semana (0-6)
% d Dia do mês (01-31)
% j Dia do ano (001-366)
% B Nome completo do mês (por exemplo, janeiro)
% b Nome abreviado do mês (por exemplo, janeiro)
% m Número do mês (01-12)

Você pode obter uma lista completa de caracteres de formatação usando a opção –help no terminal.

 date --help

4. Obtenha o Dia da Semana

Um uso muito comum e prático da formatação de data é obter o dia da semana para qualquer data específica. Por exemplo, para verificar em que dia da semana caiu 4 de novembro de 1995, digite um comando semelhante a este:

 $ date -d "1996-04-11" +"%A"
Friday

A opção -d indica que você deseja uma data específica, a string "1996-04-11" indica a data desejada e a formatação + "% A" indica que você deseja o dia da semana na saída. Lembre-se de que a string de data pode ter vários formatos, não apenas aquele especificado aqui.

5. Obtenha o horário universal coordenado

Ao emitir o sinalizador -u , você pode obter a hora atual no Tempo Universal Coordenado (UTC).

 $ date -u
Wed 21 Apr 2021 12:46:59 PM UTC

6. Envie a hora local em outro fuso horário

Se você precisar obter uma data em qualquer outro fuso horário, poderá fazê-lo definindo a variável de ambiente TZ = antes do comando date.

Por exemplo, você pode ver a data e hora atuais no Mountain Standard Time (MST) com o seguinte comando:

 $ TZ=MST date
Tue 20 Apr 2021 03:45:29 PM MST

Para seus propósitos, simplesmente substitua MST pelas iniciais do fuso horário de sua preferência. Você também pode optar por usar a notação UTC. Por exemplo, para obter o mesmo fuso horário, substitua MST por UTC + 7 .

Além disso, você pode nomear um continente e uma cidade importante para obter a hora, hora local dessa cidade específica. Por exemplo:

 $ TZ=America/Phoenix date
Tue 20 Apr 2021 03:45:29 PM MST

7. Obtenha a hora da última modificação de um arquivo

Se você estiver criando backups, por exemplo, frequentemente precisará obter a data da última modificação de um arquivo. Você pode fazer isso passando a opção -r e nomeando um arquivo.

 $ date -r /etc/shadow
Wed 14 Apr 2021 07:53:02 AM CDT

Você também pode alterar os carimbos de data / hora de um arquivo usando o comando touch no Linux .

8. Saída e conversão de tempo de época

Você pode calcular o número de segundos desde a época do Unix com o seguinte comando:

 $ date +%s
1618955631

Você também pode reverter o processo e converter a hora Unix em um formato legível por humanos através do uso da opção -d e do caractere @ .

 $ date -d @1618955631
Tue 20 Apr 2021 04:53:51 PM CDT

Calcular o tempo Unix é útil se você precisar de um segundo exato que definitivamente manterá outros dispositivos sincronizados.

9. Defina temporariamente a hora do sistema

Você pode alterar o relógio do sistema a partir do terminal com o comando date passando o argumento -s seguido da hora desejada. Por exemplo, você pode definir o relógio do sistema para 24 horas no futuro com o seguinte comando:

 date -s "tomorrow"

Observe que você precisará de privilégios sudo para passar este comando. Além disso, a mudança provavelmente não será persistente (o que significa que seu relógio voltará ao tempo anterior após uma reinicialização) porque a maioria das distros usa outros utilitários para gerenciar o relógio do sistema que irão anular a mudança na inicialização.

Explicação do comando de data do Linux

Como na vida, você não pode fugir do tempo no Linux. Por isso é fundamental que você entenda como formatar e usar, por meio do comando date. Uma coisa que você certamente encontrará no gerenciamento de arquivos do Linux são os vários carimbos de data / hora que os arquivos carregam com eles.