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.