Jak nastavit datum a čas vždy viditelný v terminálu

Říkají, že obrázek má hodnotu tisíce slov, proto vám předtím, než vám něco vysvětlím, ukážu, jaký je výsledek příkazu, který uvedu později:

terminal_date_time

Všimněte si, jak v pravém horním rohu vidíme den v týdnu (ne, neděle), měsíc (prosinec), den (22) a také hodinu, minutu, sekundu a rok.

Je to něco, co se aktualizuje v reálném čase, to znamená každou sekundu, kdy se informace aktualizují, a vždy to bude v pravém horním rohu terminálu.

To je něco užitečného, ​​protože můžeme upravovat soubor pomocí nano nebo vi, můžeme instalovat jakýkoli typ služby nebo spravovat cokoli a nebudeme muset zastavit to, co děláme, spustit datum v terminálu, abychom věděli datum nebo čas, S tímto tipem, který vám ukážu, budeme mít vždy na paměti.

Abychom toho dosáhli v terminálu, položme následující:

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

To jako takové není jednoduchý příkaz nebo instrukce, ale spíše jejich sjednocení ... no tak, mohl by to být i skript. Vysvětlovat to je trochu složité, nicméně se budu snažit 🙂

  • zatímco spíte 1; dělat : To znamená, že každou sekundu bude provedeno následující
  • tput sc : Znamená to, že aktuální poloha bude uložena, to znamená, že bude uložena pozice toho, co přijde dál, nebude nutné ji jednou specifikovat.
  • vložit šálek 0$ (($ (tput cols) -29)) : Může se to zdát komplikované, ale není to tak těžké. V zásadě to říká pozice, tedy pravý horní roh. Parametr cup určuje vertikální prostor, který bude existovat, protože dáme 0, takže to znamená „těsně nad, nahoře“. Jakmile je svislá poloha definována, můžeme vidět vodorovnou polohu, o kterou se postarají ostatní parametry, které jednoduše řečeno ... spočítá existující sloupce a zajistí, aby byla přímo na pravém okraji. Pokud chcete, změňte číslo 29 pro ostatní a všimnete si rozdílu.
  • datum : No, je to jednoduché, datum nám ukazuje informace, které vidíme ... den, měsíc, hodina atd.
  • tput rc : Jsou tput sc uložíme pozici, nyní s tput rc ji obnovíme.
  • hotový : Zde dokončujeme vše, čím jsme začali.

Jak vidíte, terminál je bezpochyby úžasný prostor, pokud příkaz nedělá přesně to, co chceme ... můžeme se připojit k několika z nich a dosáhnout toho, co chceme. Podívejte se na každý příkaz jako nástroj, nástroj (kladivo) z nás nemůže udělat krásnou sochu, ale spojením tohoto nástroje (kladivo) s ostatními (dřevo a dláto) můžeme dosáhnout vysněného výsledku 🙂

Mimochodem ... pokud chcete, aby se to vždy zobrazovalo v terminálu, aniž byste jej museli spouštět pokaždé, když otevřete konzolu, musíte ji umístit do .bashrc, tedy:

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

Pak pokud jej chcete odstranit, spusťte následující:

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

No, nic víc na doplnění, doufám, že to pro vás bylo užitečné

pozdravy

silný

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


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   ghermain řekl

    Díky, ale nefunguje to pro mě ... Ani v Konsole, ani v Yakuake jsem neudělal všechno tak, jak je to v příspěvku. 🙁

    1.    ghermain řekl

      Omlouvám se ... byla to moje chyba ... teď, když jsem restartoval IT WORKS !!!

      1.    KZKG ^ Gaara řekl

        Bylo mi divné, že to nefungovalo, protože zatímco… date a tput jsou příkazy z balíčku Bash 😀

  2.   ghermain řekl

    Nevím ... stalo se něco zvláštního ... vložte terminál:

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

    A výsledek byl:

    bash: /home/ghermain/.bashrc: řádek 115: syntaktická chyba poblíž neočekávaného prvku `` do ''
    bash: /home/ghermain/.bashrc: line 115: `PS1 = '$ {debian_chroot: + ($ debian_chroot)} [33 [01; 34 m] u [33 [01; 32 m] @ [33 [01; 32 m] h [33 [00m]: [33 [01; 34m] w [33 [00m] $ 'while sleep 1; do tput sc; tput cup 0 64; date; tput rc; done &'

    Pak jsem přímo zkopíroval příkazy, které zadáváte v .bashrc na konci, a dostanu několik řádků s datem a časem.

    1.    O_Pixote_O řekl

      Odstraňte všechny řádky, které jste vložili do souboru .bashrc k datu, a ručně vložte řádek znovu bez použití ozvěny, že pokud nedojde k chybě

  3.   Gonzalo řekl

    Velmi zajímavé!

    1.    KZKG ^ Gaara řekl

      Děkujeme za přečtení 🙂

  4.   jack em řekl

    Dlouho jsem hledal způsoby, jak „vyzdobit“ chladný, ale efektivní terminál, a tento příkaz je velmi dobrý, ne tak barokní jako jiná řešení, ale když zadám dlouhý příkaz, dojde k určitému zmatku. Příkaz sní datum a potom se zdá, že datum sníží příkaz. Ví někdo, jestli existuje způsob, jak se výzva zobrazí ve výchozím nastavení o řádek níže?
    Každopádně, děkuji!

  5.   Gregory Meče řekl

    Vynikající tip 🙂

    1.    KZKG ^ Gaara řekl

      Díky brácho 😀

  6.   Oskar řekl

    Díky za tip přítele, funguje to správně. Pozdravy.

    1.    KZKG ^ Gaara řekl

      Děkujeme, že jste si nás přečetli 🙂

  7.   truko22 řekl

    Skvělé 😀
    Nebo můžete vytvořit alias a podle potřeby jej použít 😀

  8.   James_Che řekl

    Zajímavé, zkusím to později

  9.   John řekl

    Velmi dobrý

  10.   jamin samuel řekl

    Můžete napsat příspěvek vysvětlující, jak nainstalovat zsh v Debianu / Ubuntu / Mint / Elementary a jak konfigurovat témata?

    1.    KZKG ^ Gaara řekl

      Uff, nikdy jsem nepoužil zsh, promiň 🙁

  11.   O_Pixote_O řekl

    KZKG ^ Gaara, když uděláte příkaz, který dává chybu, protože se domnívám, že se pokouší rozpoznat $, které nemají žádnou hodnotu, takže je neinterpretuje, jejich \ je opraveno.

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

    Myslím, že tak nebude žádný problém, napravte ho, než někomu udělám chybu. Dobrý příspěvek, použiji ho. Pozdravy.

    1.    KZKG ^ Gaara řekl

      Uff, má chyba 😀
      Už to opravím v příspěvku, moc děkuji za opravu 🙂

  12.   jvk85321 řekl

    Upravil jsem to a nechal to tak

    while sleep 1; do tput sc; tput cup 0 $ (($ (tput cols) -16)); date + »% R% d /% m /% Y»; tput rc; done &

    Zobrazuje pouze Hodina: Minuty Datum ve formátu DD / MM / RRRR

  13.   Danyel řekl

    Skvělý přítel, pracoval jsem 100 díky