User Tools

Site Tools


wiki:linux:comandos:comando_date

Exemplos do comando date

Nível Básico

  • Exibir a data e hora atuais:
    1. date
    2. Exibe a data e hora atuais no formato padrão do sistema.
  • Exibir apenas a data atual:
    1. date +%Y-%m-%d
    2. Exibe a data atual no formato `YYYY-MM-DD` (ex.: 2024-10-12).
  • Exibir apenas a hora atual:
    1. date +%H:%M:%S
    2. Exibe a hora atual no formato de 24 horas `HH:MM:SS`.
  • Exibir o dia da semana:
    1. date +%A
    2. Exibe o dia da semana (ex.: “Saturday” para sábado).
  • Exibir a data e hora no formato UTC:
    1. date -u
    2. Exibe a data e hora em UTC (Tempo Universal Coordenado).

Nível Intermediário

  • Exibir a data e hora no formato customizado:
    1. date +"Hoje é %d/%m/%Y e são %H:%M"
    2. 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:
    1. date -d @1634043000
    2. Converte o timestamp Unix `1634043000` em uma data legível.
  • Exibir a data de um dia específico no futuro:
    1. date -d "+7 days"
    2. Exibe a data de daqui a 7 dias a partir da data atual.
  • Exibir a data de um mês anterior:
    1. date -d "last month"
    2. Exibe a data correspondente ao mês anterior.
  • Salvar a data atual em uma variável:
    1. hoje=$(date +%Y-%m-%d)
    2. Salva a data atual no formato `YYYY-MM-DD` na variável `hoje`.

Nível Avançado

  • Alterar a data e hora do sistema:
    1. sudo date -s "2024-12-31 23:59:59"
    2. Define a data e hora do sistema para `31 de dezembro de 2024, 23:59:59`.
  • Exibir a diferença entre duas datas:
    1. 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:
    1. date +%V
    2. Exibe o número da semana no ano atual (ex.: 41).
  • Exibir a data e hora de arquivo específico:
    1. date -r arquivo.txt
    2. Exibe a data e hora de modificação do arquivo `arquivo.txt`.
  • Criar backups com timestamps no nome do arquivo:
    1. cp arquivo.txt arquivo_$(date +%Y%m%d_%H%M%S).txt
    2. 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:
    1. sudo ntpdate ntp.servidor.com
    2. 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:
    1. while true; do echo "Log $(date +%Y-%m-%d\ %H:%M:%S)" >> log.txt; sleep 10; done
    2. 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:
    1. ping google.com | while read line; do echo "$(date +%H:%M:%S) $line"; done
    2. Executa o comando `ping` e adiciona um timestamp a cada linha da saída.
  • Exibir a data em milissegundos:
    1. date +%s%3N
    2. Exibe o tempo Unix (epoch) com precisão de milissegundos.
  • Agendar a execução de um comando em uma data específica:
    1. echo "comando_a_ser_executado" | at 12:30 PM 2024-12-31
    2. 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:
    1. 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:
    1. for i in {1..5}; do echo "Processo $i iniciado em $(date +%Y-%m-%d\ %H:%M:%S)"; sleep 1; done
    2. 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