wiki:linux:comandos:comando_date
Table of Contents
Exemplos do comando date
Nível Básico
- Exibir a data e hora atuais:
date
- Exibe a data e hora atuais no formato padrão do sistema.
- Exibir apenas a data atual:
date +%Y-%m-%d
- Exibe a data atual no formato `YYYY-MM-DD` (ex.: 2024-10-12).
- Exibir apenas a hora atual:
date +%H:%M:%S
- Exibe a hora atual no formato de 24 horas `HH:MM:SS`.
- Exibir o dia da semana:
date +%A
- Exibe o dia da semana (ex.: “Saturday” para sábado).
- Exibir a data e hora no formato UTC:
date -u
- Exibe a data e hora em UTC (Tempo Universal Coordenado).
Nível Intermediário
- Exibir a data e hora no formato customizado:
date +"Hoje é %d/%m/%Y e são %H:%M"
- Exibe a data e hora no formato personalizado, como “Hoje é 12/10/2024 e são 14:30”.
- Converter um timestamp em data legível:
date -d @1634043000
- Converte o timestamp Unix `1634043000` em uma data legível.
- Exibir a data de um dia específico no futuro:
date -d "+7 days"
- Exibe a data de daqui a 7 dias a partir da data atual.
- Exibir a data de um mês anterior:
date -d "last month"
- Exibe a data correspondente ao mês anterior.
- Salvar a data atual em uma variável:
hoje=$(date +%Y-%m-%d)
- Salva a data atual no formato `YYYY-MM-DD` na variável `hoje`.
Nível Avançado
- Alterar a data e hora do sistema:
sudo date -s "2024-12-31 23:59:59"
- Define a data e hora do sistema para `31 de dezembro de 2024, 23:59:59`.
- Exibir a diferença entre duas datas:
date -d "2024-12-31" +%s
<br>
date -d "2023-01-01" +%s
<br>
<code>echo $(( ($(date -d "2024-12-31" +%s) - $(date -d "2023-01-01" +%s)) / 86400 ))</code> - Calcula a diferença em dias entre duas datas (de 1º de janeiro de 2023 a 31 de dezembro de 2024).
- Exibir o número da semana atual:
date +%V
- Exibe o número da semana no ano atual (ex.: 41).
- Exibir a data e hora de arquivo específico:
date -r arquivo.txt
- Exibe a data e hora de modificação do arquivo `arquivo.txt`.
- Criar backups com timestamps no nome do arquivo:
cp arquivo.txt arquivo_$(date +%Y%m%d_%H%M%S).txt
- Copia o arquivo `arquivo.txt` adicionando um timestamp no nome do backup (ex.: `arquivo_20241012_143000.txt`).
Nível Especializado
- Sincronizar a data e hora com um servidor NTP:
sudo ntpdate ntp.servidor.com
- Sincroniza a data e hora do sistema com um servidor NTP (Network Time Protocol).
- Usar `date` para gerar um arquivo de log com timestamps contínuos:
while true; do echo "Log $(date +%Y-%m-%d\ %H:%M:%S)" >> log.txt; sleep 10; done
- Cria um loop que adiciona uma entrada de log com timestamp a cada 10 segundos no arquivo `log.txt`.
- Adicionar um timestamp a cada linha de um comando em execução:
ping google.com | while read line; do echo "$(date +%H:%M:%S) $line"; done
- Executa o comando `ping` e adiciona um timestamp a cada linha da saída.
- Exibir a data em milissegundos:
date +%s%3N
- Exibe o tempo Unix (epoch) com precisão de milissegundos.
- Agendar a execução de um comando em uma data específica:
echo "comando_a_ser_executado" | at 12:30 PM 2024-12-31
- Usa o comando `at` para agendar a execução de um comando no dia `31 de dezembro de 2024`, às 12:30 PM.
- Calcular o tempo restante até uma data futura:
data_futura=$(date -d "2024-12-31 23:59:59" +%s)
<br>
data_atual=$(date +%s)
<br>
<code>echo "$(( ($data_futura - $data_atual) / 86400 )) dias restantes"</code> - Calcula o número de dias restantes até o `31 de dezembro de 2024`.
- Gerar timestamps contínuos para uso em scripts de automação:
for i in {1..5}; do echo "Processo $i iniciado em $(date +%Y-%m-%d\ %H:%M:%S)"; sleep 1; done- Gera timestamps contínuos com uma pausa de 1 segundo entre cada execução, ideal para monitoramento de processos.
wiki/linux/comandos/comando_date.txt · Last modified: by Wiki Administrator
