Header Ads

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

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

Execute o comando date para ver essas informações. Ela imprime a data e a hora atuais do seu fuso horário:

 data 

A formatação padrão parece um pouco boba. Por que o ano não é impresso depois do mês e do 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 desejada, a data será distribuída em espadas. Existem mais de 40 opções que você pode passar até agora para instruir o usuário a formatar sua saída exatamente como deseja.

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

 data +% c 

IMAGEM_2

ano agora aparece em uma posição mais natural na saída.

Você pode passar várias opções para datar de uma só vez. Uma seqüê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:

 date +% A% d % B 

Isso funcionou, mas é feio. Não tem problema, podemos incluir espaços, desde que encolhamos a string de formatação inteira entre aspas. Observe que o + fica fora das aspas.

 data + "% A% d% B" 

IMAGEM_4

Você pode adicionar texto a a string de formato, assim:

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

IMAGEM_5

Rolando para cima e para baixo a página do dateman procurando a opção que você quer logo se torna cansativa. Organizamos as opções em grupos para ajudar você a encontrar seu caminho mais facilmente.

Opções para exibir a data e a hora

]
  • % c: imprime a data e a hora no formato da 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. < li>% x: imprime a data no formato da sua localidade.

Opções para exibir o dia

  • % a: Imprime o nome do dia, abreviado para Mon, Ter, Qua, etc.
  • % A: Imprime o nome completo do dia, segunda-feira, terça, quarta-feira 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-feira = 1, terça-feira = 2, etc.
  • % d: imprime o dia do mês, com um zero inicial (01, 02… 09), se necessário. < li>% e: imprime o dia de o mês, com um espaço à esquerda ("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, a 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 Jan, Fev, Mar, 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 inicial, se necessário, 01, 02, 03… 12.

Opções para exibir o ano

  • % C: Imprime o século sem o ano. Em 2019, ele imprime 20.
  • % y: imprime o ano como dois dígitos. em 2019 imprimirá 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 da manhã ou da tarde.
  • % X: imprime a hora de acordo com sua localidade, usando o relógio de 24 horas. Alegadamente. Note que durante o teste esta opção se comportou exatamente como% r, como mostrado abaixo. Em uma máquina Linux configurada para a localidade do Reino Unido e definida como GMT, ela imprimiu a hora, usando o relógio de 24 horas sem indicador AM ou PM, como 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 1970-01-01 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.

[ h2] Opções para exibir informações de fuso horário
  • % z: imprime a diferença de fuso horário entre seu fuso horário e UTC.
  • %: z: imprime a diferença de fuso horário entre o fuso horário e o UTC , com um: entre as horas e minutos. Observe: entre o sinal% e z.
  • % :: z: Imprime a diferença horária entre o seu fuso horário e o UTC, com: entre as horas, minutos e segundos. Observe o :: entre o sinal% e z.
  • % Z: imprime o nome do fuso horário alfabético.

Opções relacionadas à formatação

  • % p: imprime o indicador AM ou PM em letras maiúsculas.
  • % P: Imprime o indicador am ou pm em letras minúsculas. Observe a peculiaridade com essas duas opções. Um p minúsculo dá saída em maiúsculas, um P maiúsculo dá saída em minúsculas.
  • % t: Imprime uma guia.
  • % n: Imprime uma nova linha. [/ ul ]

    Opções para Modificar Outras Opções

    Estes modificadores podem ser inseridos entre o% e a opção de outras opções para modificar sua exibição. Por exemplo,% -S removeria o zero inicial para valores de segundos de dígito único.

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

    Dois truques mais simples

    Para obter a hora da última modificação de um arquivo, use a opção -r (referência). Tenha em atenção que isto utiliza um sinal - (hífen) em vez de%, e não requer um sinal +. Experimente este comando na sua pasta pessoal:

     data -r .bashrc 

    IMAGEM_19

    A configuração TZ permite-lhe alterar o seu fuso horário durante o período de um único comando.

     TZ = data GMT +% c 

    IMAGEM_20

    Usando Data em Scripts

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

     #! / Bin / bash HOJE = $ (date + "Hoje é% A,% d de% B ") TIMENOW = $ (date +" 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 date para fornecer um timestamp. O script mostrado criará um diretório com o timestamp como seu nome. Em seguida, copiará todos os arquivos de texto da pasta atual para ele. Ao executar este script periodicamente, podemos tirar uma foto dos nossos arquivos de texto. Com o tempo, criaremos uma série de pastas com diferentes versões de nossos arquivos de texto.

    Observe que esse 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 # obtém a data e a hora date_stamp = $ (date + "% F -% H-% M-% S ") # cria um diretório com esse nome mkdir" $ date_stamp "# copia os arquivos da pasta atual para ele cp * .txt" $ date_stamp "# tudo pronto, reporta de volta e sai 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:

    [PRÉ] / snapshot.sh

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

    Dado um pouco de pensamento e criatividade, até mesmo o humilde comando de data pode ser usado de forma produtiva.

    Via: How to Geek

Um comentário:

  1. Muito bom o artigo e tutorial. De repente, deu vontade de saber a data pelo Terminal do Linux, e o seu tutorial mostrou o quanto é simples e prático.

    ResponderExcluir