Tarih ve saati terminalde her zaman görünür kılma

Bir resim bin kelimeye bedeldir derler, bu yüzden size bir şeyi açıklamadan önce, daha sonra koyacağım komutun sonucunun ne olduğunu size göstereceğim:

terminal_date_time

Sağ üst köşede haftanın gününü (Paz, Pazar), ayı (Aralık), günü (22) ve saat, dakika, saniye ve yılı nasıl gördüğümüze dikkat edin.

Gerçek zamanlı olarak güncellenen bir şeydir, yani bu bilgiler her saniye güncellenir ve her zaman terminalin sağ üst köşesinde olacaktır.

Bu yararlı bir şey çünkü nano veya vi ile bir dosyayı düzenliyor olabiliriz, herhangi bir tür hizmeti kuruyor veya her ne varsa yönetiyor olabiliriz ve yaptığımız işi durdurmamıza, tarihi bilmek için terminalde date çalıştırmamıza gerek kalmayacak veya Size gösterdiğim bu tüyoyla her zaman aklımızda tutacağız.

Bunu bir terminalde başarmak için aşağıdakileri koyalım:

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

Bu aslında basit bir komut veya talimat değil, daha ziyade bunların birleşimi… hadi ama, bir senaryo da olabilir. Açıklaması biraz karmaşık ama elimden geleni yapacağım :)

  • uyurken 1;yap : Bu, her saniyede bir aşağıdakilerin yürütüleceği anlamına gelir
  • tput sc : Mevcut konumun kaydedileceği yani bir sonraki konumun kaydedileceği anlamına gelir, bir kez daha belirtmenize gerek kalmayacaktır.
  • tput fincan 0$(($(tput sütunları)-29)) : Bu karmaşık görünebilir ancak o kadar da zor değil. Temelde pozisyonun söylediği şey bu, yani sağ üst köşe. Cup parametresi oluşacak dikey alanı belirtir, 0 koyduğumuz için "hemen yukarıda, en üstte" anlamına gelir. Dikey konum tanımlandıktan sonra, geri kalan parametreler tarafından dikkate alınan, basitçe ifade etmek gerekirse... mevcut sütunları hesaplayan ve sağ kenarda olduğundan emin olan yatay konumu görmemiz gerekir. . Dilerseniz 29 sayısını başkaları için değiştirin, farkı göreceksiniz.
  • tarih : Aslında bu çok basit, tarih bize gördüğümüz bilgileri gösterir... gün, ay, saat vb.
  • tput rc : Bunlar tput sc ile konumu kaydediyoruz, şimdi tput rc ile onu geri yüklüyoruz.
  • yapılmış : Burada başladığımız her şeyi bitiriyoruz.

Gördüğünüz gibi terminal şüphesiz harika bir alan, eğer bir komut tam olarak istediğimizi yapmıyorsa... birkaç tanesine katılarak istediğimizi elde edebiliriz. Her komutu bir alet olarak görün, bir alet (çekiç) bizi güzel bir heykel yapamaz ancak bu aleti (çekiç) diğerleriyle (tahta ve keski) birleştirerek hayal ettiğimiz sonuca ulaşabiliriz :)

Ah, bu arada... eğer bunun, konsolu her açtığınızda çalıştırmanıza gerek kalmadan terminalde her zaman görünmesini istiyorsanız, onu .bashrc'ye koymalısınız, yani:

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

O zaman eğer onu kaldırmak istiyorsan, aşağıdakileri yürütün:

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

Neyse, ekleyecek başka bir şey yok, umarım işinize yaramıştır.

selamlar

güçlü

echo «uykudayken 1;tput sc yap;tput cup 0 \$((\$(tput cols)-29));date;tput rc;done &» >> $HOME/.bashrc


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   Germain dijo

    Teşekkürler ama bende işe yaramıyor... Ne Konsole'de ne de Yakuake'de her şeyi yazıdaki gibi yapmadım. 🙁

    1.    Germain dijo

      Üzgünüm... benim hatamdı... şimdi yeniden başlattığımda ÇALIŞIYOR!!!

      1.    KZKG ^ Gaara dijo

        Zaten işe yaramaması bana tuhaf geldi, çünkü while... date ve tput Bash paketindeki komutlardır 😀

  2.   Germain dijo

    Bilmiyorum... tuhaf bir şey oldu... terminalde:

    echo «uykudayken 1;tput sc yap;tput cup 0 $(($(tput cols)-29));date;tput rc;done &» >> $HOME/.bashrc

    Ve sonuç şuydu:

    bash: /home/ghermain/.bashrc: satır 115: beklenmeyen 'do' öğesinin yakınında sözdizimi hatası
    bash: /home/ghermain/.bashrc: satır 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]$ 'uykudayken 1;do tput sc;tput cup 0 64;date;tput rc;done &'

    Daha sonra verdiğiniz komutları doğrudan sondaki .bashrc dosyasına kopyaladım ve tarih ve saatin olduğu birkaç satır aldım.

    1.    O_Pixote_O dijo

      .bashrc dosyasına tarihle ilgili koyduğunuz tüm satırları silin ve satırı echo kullanmadan manuel olarak tekrar koyun, aksi halde hata veriyor

  3.   Gonzalo dijo

    Çok ilginç!

    1.    KZKG ^ Gaara dijo

      Okuduğunuz için teşekkürler 🙂

  4.   jack em dijo

    Bir süredir verimli ama soğuk terminali "dekore etmenin" yollarını arıyorum ve bu komut çok iyi, diğer çözümler kadar barok değil, ancak uzun bir komut girdiğimde bazı karışıklıklar oluyor. Komut tarihi yer ve ardından tarih komutu yer gibi görünür. İstemin varsayılan olarak bir satır aşağıda görünmesinin bir yolu olup olmadığını bilen var mı?
    Neyse, teşekkür ederim!

  5.   Gregory Kılıçları dijo

    Mükemmel ipucu 🙂

    1.    KZKG ^ Gaara dijo

      Teşekkürler kardeşim 😀

  6.   Oscar dijo

    İpucu için teşekkürler arkadaşım, düzgün çalışıyor. Selamlar.

    1.    KZKG ^ Gaara dijo

      Bizi okuduğunuz için teşekkür ederiz 🙂

  7.   Truko22 dijo

    Harika 😀
    Veya bir takma ad oluşturup gerektiğinde kullanabilirsiniz 😀

  8.   James_Che dijo

    İlginç, daha sonra deneyeceğim

  9.   John dijo

    Çok iyi

  10.   jamin samuel dijo

    Debian/Ubuntu/Mint/Elementary'de zsh'nin nasıl kurulacağını ve temaların nasıl yapılandırılacağını açıklayan bir yazı hazırlayabilir misiniz?

    1.    KZKG ^ Gaara dijo

      Ah, hiç zsh kullanmadım, üzgünüm 🙁

  11.   O_Pixote_O dijo

    KZKG^Gaara komutu uyguladığınızda hata veriyor çünkü sanırım değeri olmayan $'ları tanımaya çalışıyor, böylece onları yorumlamıyor, içlerine \ koyarak sorunu düzeltiyor.

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

    Sanırım sorun olmaz, birilerine hata vermeden düzeltin. Güzel yazı, kullanacağım. Selamlar.

    1.    KZKG ^ Gaara dijo

      Ah doğru, benim hatam 😀
      Yazıda düzeltmiştim zaten, düzeltme için çok teşekkür ederim 🙂

  12.   jvk85321 dijo

    Bunu değiştirdim ve bu şekilde bıraktım

    uyku 1 iken;tput sc yap;tput cup 0 $(($(tput cols)-16));tarih +»%R %d/%m/%Y»;tput rc;tamam &

    Yalnızca Saat:Dakika Tarihini GG/AA/YYYY formatında görüntüler

  13.   danyel dijo

    Mükemmel arkadaşım, işime 100 işe yaradı, teşekkürler