Como colocar a data e hora sempre visíveis no terminal

Dizem que uma imagem vale mais que mil palavras, por isso, antes de te explicar algo, vou te mostrar qual é o resultado do comando que vou dar depois:

terminal_date_time

Observe como no canto superior direito vemos o dia da semana (sol, domingo), o mês (dezembro), o dia (22) assim como a hora, minuto, segundo e ano.

É algo que se atualiza em tempo real, ou seja, a cada segundo que a informação é atualizada, e estará sempre no canto superior direito do terminal.

Isto é algo útil porque, podemos estar editando um arquivo com nano ou vi, podemos estar instalando qualquer tipo de serviço ou gerenciando qualquer que seja, e não precisaremos parar o que fazemos, executar data no terminal para saber a data ou tempo, com essa dica que vou mostrar para vocês, vamos sempre mantê-la em mente.

Para conseguir isso em um terminal, vamos colocar o seguinte:

while sleep 1;do tput sc;tput cup 0 $(($(tput cols)-29));date;tput rc;done &

Isso, como tal, não é um simples comando ou instrução, mas sim uma união deles ... vamos lá, um script também pode ser. Explicar é um pouco complexo, mas farei o meu melhor 🙂

  • enquanto dorme 1; faça : Isso significa que a cada segundo o seguinte será executado
  • tput sc : Significa que a posição atual será salva, ou seja, a posição do que virá a seguir será salva, não será necessário especificá-la uma vez.
  • tput copo 0$ (($ (tput cols) -29)) : Isso pode parecer complicado, mas não é tão difícil. Basicamente, é isso que a posição diz, ou seja, o canto superior direito. O parâmetro cup especifica o espaço vertical que existirá, já que colocamos 0, então significa "logo acima, no topo". Uma vez definida a posição vertical, podemos ver a posição horizontal, que é atendida pelo resto dos parâmetros, que resumindo ... calcula as colunas existentes e certifica-se de que está bem no lado certo. Se desejar, mude o número 29 para outros e você notará a diferença.
  • dados : Bem, isso é simples, a data nos mostra as informações que vemos ... dia, mês, hora, etc.
  • tput rc : Eles são tput sc salvamos a posição, agora com tput rc restauramos.
  • feito : Aqui terminamos tudo, o que começamos com o tempo.

Como podem ver, o terminal é sem dúvida um espaço maravilhoso, se um comando não faz exatamente o que queremos ... podemos juntar vários deles e conseguir o que queremos. Veja cada comando como uma ferramenta, uma ferramenta (martelo) não pode nos tornar uma bela estátua, porém, juntando esta ferramenta (martelo) com outras (madeira e cinzel) podemos chegar ao resultado dos sonhos 🙂

Ah, aliás ... se você quiser que isso apareça sempre no terminal sem ter que executá-lo toda vez que abrir um console, você deve colocá-lo em .bashrc, ou seja:

echo "while sleep 1;do tput sc;tput cup 0 \$((\$(tput cols)-29));date;tput rc;done &" >> $HOME/.bashrc

Depois se você quiser removê-lo, execute o seguinte:

sed -i "s/while sleep 1/#while sleep 1/" $HOME/.bashrc

Bem, nada mais a acrescentar, espero que tenha sido útil para você

lembranças

mais forte,

echo "enquanto dorme 1; do tput sc; tput cup 0 \ $ ((\ $ (tput cols) -29)); date; tput rc; done &" >> $ HOME / .bashrc


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   maxixe dito

    Obrigado mas não funciona para mim ... Nem no Konsole nem no Yakuake fiz tudo como está no post. 🙁

    1.    maxixe dito

      Desculpe ... foi minha culpa ... agora que reiniciei FUNCIONA !!!

      1.    KZKG ^ Gaara dito

        Achei estranho que não funcionasse, porque while… date e tput são comandos do pacote Bash 😀

  2.   maxixe dito

    Não sei ... aconteceu algo estranho ... colocou em um terminal:

    echo "durante o sono 1; do tput sc; tput cup 0 $ (($ (tput cols) -29)); date; tput rc; done &" >> $ HOME / .bashrc

    E o resultado foi:

    bash: /home/ghermain/.bashrc: linha 115: erro sintático próximo ao elemento `do 'inesperado
    bash: /home/ghermain/.bashrc: linha 115: `PS1 = '$ {debian_chroot: + ($ debian_chroot)} [33 [01; 34m] u [33 [01; 32m] @ [33 [01; 32m] h [33 [00m]: [33 [01; 34m] w [33 [00m] $ 'durante o sono 1; do tput sc; tput cup 0 64; data; tput rc; feito &'

    Então copiei diretamente os comandos que você deu para o .bashrc no final e recebo várias linhas com a data e a hora.

    1.    O_Pixote_O dito

      Exclua todas as linhas que você colocou no arquivo .bashrc na data e manualmente coloque a linha de novo sem usar o eco que se não der um erro

  3.   Gonzalo dito

    Muito interessante!

    1.    KZKG ^ Gaara dito

      Obrigado por ler 🙂

  4.   jack em dito

    Há muito tempo procuro maneiras de "decorar" o terminal bacana, mas eficiente, e esse comando é muito bom, não tão barroco quanto outras soluções, mas quando digito um comando longo há alguma confusão. O comando come a data e então a data parece comer o comando. Alguém sabe se existe alguma maneira que o prompt apareça por padrão uma linha abaixo?
    Enfim, obrigada!

  5.   Gregório Espadas dito

    Excelente dica 🙂

    1.    KZKG ^ Gaara dito

      Obrigado mano 😀

  6.   Oscar dito

    Obrigado pela dica amigo, funciona corretamente. Saudações.

    1.    KZKG ^ Gaara dito

      Obrigado por nos ler 🙂

  7.   truko22 dito

    Otimo 😀
    Ou você pode criar um alias e usá-lo quando necessário 😀

  8.   James_Che dito

    Interessante, vou tentar mais tarde

  9.   banheiro dito

    Muito bom

  10.   Jamin-Samuel dito

    Você poderia fazer um post explicando como instalar o zsh no Debian / Ubuntu / Mint / Elementary e como configurar os temas?

    1.    KZKG ^ Gaara dito

      Uff, eu nunca usei zsh, desculpe 🙁

  11.   O_Pixote_O dito

    KZKG ^ Gaara quando vc faz o comando dá um erro porque suponho que tenta reconhecer os $ que não tem valor, para que não os interprete, colocando-os \ está fixo.

    echo "while sleep 1;do tput sc;tput cup 0 \$((\$(tput cols)-29));date;tput rc;done &" >> $HOME/.bashrc

    Acho que assim não haverá problema, corrija antes que eu cometa um erro. Bom post, vou usar. Saudações.

    1.    KZKG ^ Gaara dito

      Uff certo, erro meu 😀
      Já consertei no post, muito obrigado pela correção 🙂

  12.   jvk85321 dito

    Eu modifiquei e deixei assim

    enquanto dorme 1; do tput sc; tput cup 0 $ (($ (tput cols) -16)); data + »% R% d /% m /% Y»; tput rc; concluído &

    Mostra apenas Hora: Minutos Data com formato DD / MM / AAAA

  13.   danyel dito

    Excelente amigo trabalhei 100 obrigado