Categories: Tecnologia

Como exibir a data e hora no terminal Linux (e usá-la em scripts Bash)

Fatmawati Achmad Zaenuri / Shutterstock.com

O datecomando é encontrado no shell Bash, que é o shell padrão na maioria das distribuições Linux e até mesmo no macOS. Este tutorial mostra como dominar  datea linha de comando e como usá-lo em scripts de shell para fazer mais do que simplesmente imprimir a hora.

Execute o datecomando para ver essas informações. Ele imprime a data e a hora atuais para o seu fuso horário:

encontro

A formatação padrão parece um pouco boba. Por que o ano não é impresso após o mês e o dia, em vez de ser marcado no final, atrás do fuso horário? Não tenha medo: se for o controle sobre o formato da saída que você deseja, dateentregue-o em espadas. Existem mais de 40 opções que você pode passar datepara instruí-lo a formatar sua saída precisamente como você gostaria.

Para usar qualquer uma das opções date, digite um espaço, um sinal de mais +e a opção incluindo o sinal de porcentagem inicial. A opção %c (dados e hora no formato local) faz com que a data e a hora sejam impressas no formato normalizado associado ao seu local. Sua localidade é definida pelas informações geográficas e culturais fornecidas durante a instalação do sistema operacional. O local rege coisas como o símbolo da moeda, tamanhos de papel, fuso horário e outras normas culturais.

data +% c

O ano agora aparece em uma posição mais natural na produção.

Você pode passar várias opções para de dateuma vez. Uma sequência de opções é chamada de string de formato. Para ver o nome do dia ( %A), o dia do mês ( %d) e o nome do mês ( %B), use este comando:

data +% A% d% B

Isso funcionou, mas é feio. Não há problema, podemos incluir espaços, desde que coloque toda a string de formato entre aspas. Observe que +fica fora das aspas.

data + "% A% d% B"

Você pode adicionar texto à string de formato, como este:

data + "Hoje é:% A% d% B"

Rolar para cima e para baixo na date página do manual procurando a opção desejada logo se torna cansativo. Organizamos as opções em grupos para ajudá-lo a encontrar seu caminho em torno delas com mais facilidade.

Opções para exibir a data e hora

  • % c : Imprime a data e a hora no formato de sua localidade, incluindo o fuso horário.

Opções para exibir a data

  • % D : Imprime a data no formato mm / dd / aa.
  • % F : Imprime a data no formato aaaa-mm-dd.
  • % x : Imprime a data no formato de sua localidade.

Opções para exibir o dia

  • % a : Imprime o nome do dia, abreviado para Seg, Ter, Quarta, etc.
  • % A : Imprime o nome completo do dia, segunda, terça, quarta, etc.
  • % u : imprime o número do dia da semana, onde segunda-feira = 1, terça-feira = 2, quarta-feira = 3, etc.
  • % w : imprime o número do dia da semana, onde domingo = 0, segunda = 1, terça = 2, etc.
  • % d : Imprime o dia do mês, com um zero à esquerda (01, 02… 09) se necessário.
  • % e : Imprime o dia do mês, com um espaço inicial (‘1’, ‘2’ … ‘9’) se necessário. Observe que os apóstrofos não são impressos.
  • % j : imprime o dia do ano, com até dois zeros à esquerda, se necessário.

Opções para exibir a semana

  • % U : Imprime o número da semana do ano, considerando o domingo como o primeiro dia da semana. Por exemplo, a terceira semana do ano, vigésima semana do ano, etc.
  • % V : Imprime o número da semana ISO do ano, considerando segunda-feira como o primeiro dia da semana.
  • % W : número da semana do ano, considerando segunda-feira como o primeiro dia da semana.

Opções para exibir o mês

  • % b ou % h : imprime o nome do mês abreviado para janeiro, fevereiro, março, etc.
  • % B : imprime o nome completo do mês, janeiro, fevereiro, março, etc.
  • % m : Imprime o número do mês, com um zero à esquerda se necessário 01, 02, 03… 12.

Opções para exibir o ano

  • % C : Imprime o século sem o ano. Em 2019, seria impresso 20.
  • % y : Imprime o ano como dois dígitos. em 2019, será impresso 19.
  • % Y : Imprime o ano como quatro dígitos.

Opções para exibir a hora

  • % T : Imprime a hora como HH: MM: SS.
  • % R : Imprime a hora e os minutos como HH: MM sem segundos, usando o relógio de 24 horas.
  • % r : imprime a hora de acordo com sua localidade, usando o relógio de 12 horas e um indicador de manhã ou tarde.
  • % X : Imprime a hora de acordo com sua localidade, usando o relógio de 24 horas. Alegadamente. Observe que, durante o teste, essa opção se comportou exatamente como %r, conforme mostrado a seguir. Em uma máquina Linux configurada para o local do Reino Unido e definida como GMT, ele imprimiu a hora, usando o relógio de 24 horas sem indicador de AM ou PM, conforme esperado.

Opções para exibir a hora

  • % H : Imprime a hora 00, 01, 02… 23.
  • % I : Imprime a hora usando o relógio de 12 horas, 00, 01, 02… 12, com um zero à esquerda, se necessário.

Opções para exibir minutos

  • % M : imprime o minuto, 01, 02, 03… 59, com um zero à esquerda, se necessário.

Opções para exibir segundos

  • % s : Imprime o número de segundos desde 01/01/1970 00:00:00, o início da Época Unix .
  • % S : Imprime os segundos, 01, 02, 03… 59, com um zero à esquerda, se necessário.
  • % N : Imprime os nanossegundos.

Opções para exibir informações de fuso horário

  • % z : Imprime a diferença de horário entre seu fuso horário e UTC.
  • %: z : Imprime a diferença horária entre o seu fuso horário e UTC, com um: entre as horas e os minutos. Observe o :entre o %sinal e z.
  • % :: z : Imprime a diferença de tempo entre seu fuso horário e UTC, com um: entre as horas, minutos e segundos. Observe o ::entre o %sinal e z.
  • % Z : Imprime o nome alfabético do fuso horário.

Opções relacionadas à formatação

  • % p : Imprime o indicador AM ou PM em maiúsculas.
  • % P : Imprime o indicador am ou pm em letras minúsculas. Observe a peculiaridade dessas duas opções. Uma minúscula pfornece saída em maiúsculas, uma maiúscula Pfornece saída em minúsculas.
  • % t : Imprime uma guia.
  • % n : Imprime uma nova linha.

Opções para modificar outras opções

Esses modificadores podem ser inseridos entre %e a letra de opção de outras opções para modificar sua exibição. Por exemplo, %-Sremoveria o zero à esquerda para valores de segundos de um dígito.

  • : Um único hífen impede o preenchimento de zero em valores de dígito único.
  • _ : um único sublinhado adiciona espaços à esquerda para valores de um dígito.
  • 0 : fornece zeros à esquerda para valores de um dígito.
  • ^ : Usa maiúsculas, se possível (nem todas as opções respeitam este modificador).
  • # : Use o oposto do caso padrão para a opção, se possível (nem todas as opções respeitam este modificador).

Mais dois truques legais

Para obter a hora da última modificação de um arquivo, use a -ropção (referência). Observe que isso usa um -(hífen) em vez de um %sinal e não requer um +sinal. Tente este comando em sua pasta pessoal:

data -r .bashrc

A configuração TZ permite que você altere seu fuso horário durante um único comando.

TZ = data GMT +% c

Usando Data em Scripts

Ativar um script de shell Bash para imprimir a hora e a data é trivial. Crie um arquivo de texto com o seguinte conteúdo e salve-o como gd.sh.

#! / bin / bash

TODAY = $ (data + "Hoje é% A,% d de% B")
TIMENOW = $ (data + "A hora local é% r")
TIME_UK = $ (TZ = data BST + "A hora no Reino Unido é% r")

echo $ TODAY
echo $ TIMENOW
echo $ TIME_UK

Digite o seguinte comando para definir as permissões de execução e tornar o script executável.

chmod + x gd.sh

Execute o script com este comando:

./gd.sh

Podemos usar o comando de data para fornecer um carimbo de data / hora. O script mostrado criará um diretório com o carimbo de data / hora como seu nome. Em seguida, copiará todos os arquivos de texto da pasta atual para ele. Executando este script periodicamente, podemos tirar um instantâneo de nossos arquivos de texto. Com o tempo, construiremos uma série de pastas com diferentes versões de nossos arquivos de texto.

Observe que este não é um sistema de backup robusto, é apenas para fins ilustrativos.

Crie um arquivo de texto com o seguinte conteúdo e salve-o como snapshot.sh.

#! / bin / bash

# obter a data e hora
date_stamp = $ (data + "% F-% H-% M-% S")

# faça um diretório com esse nome
mkdir "$ date_stamp"

# copie os arquivos da pasta atual para ela
cp * .txt "$ date_stamp"

# tudo pronto, reporte e saia
echo "Arquivos de texto copiados para o diretório:" $ date_stamp

Digite o seguinte comando para definir as permissões de execução e tornar o script executável.

chmod + x snapshot.sh

Execute o script com este comando:

./snapshot.sh

Você verá que um diretório foi criado. Seu nome é a data e hora em que o script foi executado. Dentro desse diretório estão cópias dos arquivos de texto.

Com um pouco de reflexão e criatividade, até mesmo o datecomando humilde pode ser colocado em uso produtivo.

maisroot

Recent Posts

O novo aplicativo “PC Manager” da Microsoft se parece muito com o CCleaner

Muitos aplicativos de limpeza estão disponíveis para Windows ao longo dos anos, mas hoje em…

1 ano ago

Como reiniciar um PS4

Seu PlayStation 4 está congelado? Seus jogos favoritos continuam travando? Reiniciar seu PS4 pode resolver…

1 ano ago

Veja por que as reticências são tão assustadoras ao enviar mensagens de texto…

A popularidade das mensagens de texto significou aprender uma forma totalmente nova de comunicação. Você…

1 ano ago

O telescópio James Webb acaba de capturar os “Pilares da Criação”

A foto dos "Pilares da Criação" tirada pelo Telescópio Espacial Hubble é uma das fotos…

1 ano ago

Você poderá baixar o Proton Drive mais cedo do que pensa

O Proton Drive saiu de seu estágio beta há algumas semanas, mas o aplicativo real…

1 ano ago

Como aumentar o zoom no Photoshop

Para ver suas fotos mais de perto ou para uma edição precisa , você pode…

1 ano ago