Geçmiş: Konsol kullanımının iyileştirilmesi

terminal

Bu konuda ilk makalem DesdeLinuxHerhangi bir Linux'un pek bilinmeyen ama çok pratik bir konsoluna veya kabuk komutuna kısa bir değinme yapmak istiyorum. Demek istediğim tarih.

Linux kullanan hemen hemen herkes, bir terminalde yukarı oka basarsak, bunun bize daha önce kullanılan komutu göstereceğini ve basmaya devam edersek söz konusu komutlar listesine geri döneceğimizi bilir. Sırayla, !! Kullanılan son komutu çalıştıracaktır.. Peki bu sayesinde tarih, ancak potansiyeli burada bitmiyor, çünkü doğrudan çalıştırırsak son bin komutun bulunduğu bir liste elde ederiz:

sebastian:~$ history
1543 ping -c 2 desdelinux.net
1544 clear
1545 sudo apt-get update
1546 uname
1547 history

Listenin kendisi daha uzun olacak ama birkaç örnek yeterli. Şu andan itibaren kullanılan komutların tüm geçmişini görebiliriz söz konusu hazır listede istediğimizi bulmamızı sağlayacak bir numara ile birlikte. Dilerseniz siz de yapabilirsiniz tarih aynı şeyin yürütme tarihini göster.

yani yazıyor ! satır numarası artı, kabuk söz konusu satıra karşılık gelen komutu yürütecektir:

sebastian:~$ !1543
ping -c 2 desdelinux.net
PING desdelinux.net (192.31.186.28) 56(84) bytes of data.

Ancak harflerle de işlem yapabiliriz, çünkü eğer koyarsak !+un “1546″ satırını yürütecek, çünkü bu harflerle başlayan son komutu çalıştırın.

sebastian@soporte-mesi01:~$ !un
uname
Linux

Ancak dikkatli olun, çünkü bu riskli olabilir, çünkü hangi komutun bu harflerle başlayan son komut olduğunu bilmiyoruz ve bu nedenle daha önce kullanılmış bir komutu kurtarmanın en iyi yolu, anahtar kombinasyonu CTRL+rbize bir arama motoru sunacak ve biz yazarken bize eşleşen son tam komutu gösterecektir. Yani tuşuna basarak girmek bunu yürütecek.

Öte yandan, bir komutu kullandığımız tüm zamanları listelemek istiyorsak grep kullanmamız gerekecek:
sebastian:~$ history | grep uname
1499 uname -r
1500 uname -a
1546 uname
1549 uname
1550 history | grep uname

Yani yalnızca aranan kelimenin bulunduğu satırları listeleyecektir, bu durumda «Adın".


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.   ela dijo

    Muhteşem! İpuçları için teşekkürler

  2.   Statik dijo

    Tebrikler, mükemmel ipucu

  3.   pişirmek dijo

    Aradığım şey buydu, teşekkürler!!!

  4.   galip dijo

    Ctrl+r'yi bilmiyordum, beyin veritabanında görünmesi için pratik yapacağım.
    Ayrıca gönderiye “$ geçmiş -c” komutunu da ekleyebilirsiniz; bu, bildiğiniz gibi geçmişi silmek için kullanılır; genellikle ipucu bırakmak istemiyorsak veya bir komut yazarak işi çok fazla karıştırırsak faydalıdır. yanlış.
    Selamlar ve gönderi için teşekkürler !!

    1.    Thalskarth dijo

      -c parametresini kullanmayı biliyordum ama gerçek şu ki onu hiç kullanmadım

  5.   Alberto dijo

    'Ctrl + r' kısayolu çok ilginç. Eğer birden fazla açık terminalimiz varsa, 'geçmiş' komutunun başka bir yeni terminal açılıncaya kadar yalnızca o terminalin terminalini gösterdiğini ekleyin.
    Ayrıca 'tail' komutuyla (en son komutları görmek için) veya bunları sayfa bazında görmek için 'less' komutuyla da kullanılabilir.

    Saludos ¡!

  6.   Cebrail dijo

    Bunlar zaman zaman unutulan küçük ipuçları ama çok faydalılar, teşekkürler 😉

  7.   Vito dijo

    Harika.
    Bu sayede rsync -avl -stats -progress /media/data/WEBS/ /media/WD/WEBS yazmak yerine
    Sadece !496 yazmam gerekiyordu ve bundan sonra böyle olacak!!
    Linux'a geç başladığım için her zaman pişman oldum ve Linux'a başladığım için kendimi her zaman şanslı hissediyorum.
    Bu komutlar için teşekkürler. Muhtemelen kılavuzda vardır ama ben ona hiç bakmam, tıpkı bir alet satın aldığımda baktığım son şeyin kılavuz olması gibi.
    Teşekkür ederim.
    Sıcak bir selam alın.

    1.    daniel rojas dijo

      Vito, daha fazla satır eklendiğinden geçmiş satır numarasının değişeceğini unutma. Satırın tamamını yazmaktan kaçınmak için yapmanızı tavsiye ettiğim şey, onu .bashrc'nize takma ad olarak eklemektir, bu şekilde yalnızca atadığınız takma adın adını yazarak, ona atadığınız satırın tamamı yürütülür.

      Selamlar!

      1.    Vito dijo

        Teşekkür ederim.
        Numara benim durumumun örneğiydi. Geçmişimde bu numara vardı ve bununla ipucunu denedim. Değiştiğini biliyorum ve onu her çalıştırdığımda aynı komut başka bir yeni numarayla görünüyor.

        .bashrc'deki takma adları biliyorum ve bunları yalnızca monitörleri uygun komut yerine "pan" ile kapatmak için kullanıyorum (sleep 1 && xset dpmsforce off), ancak takma adları pek kullanmıyorum çünkü o kadar çok komut kullanıyorum ki takma adı hatırlamak zorunda kalıyorum; ve sonunda iki kat daha fazla sorunla karşılaşıyorum. Komutu hatırlayın veya komut takma adını hatırlayın.

        Böylece “tarihi” hatırlamak benim için ekonomik oluyor, hatta daha kolay “tarih | grep rsync" çalışmamı yedeklemem gerektiğinde kullanıyorum. İkincisi, içinde gördüğüm kullanımlardan birinin bir örneğidir.

        Kesinlikle, en azından benim durumumda, çok az olan beyin RAM'imi korumanın süper yararlı olduğunu düşünüyorum. Böylece onlarca komutu hatırlamak zorunda kalmıyorum.

        Cevabınız için teşekkürler.

        Saygılarımızla.

  8.   Diego dijo

    Ayrıca (tırnak işaretleri olmadan) "history > historia.txt" dosyasını çalıştırıp, çalıştırdığımız komutları bir metin dosyasına kaydetmek de çok faydalıdır.

    1.    Thalskarth dijo

      Evet, her zaman ortadaki grep'i kullanarak filtreleyebilirsiniz, örneğin şöyle bir şeyle:
      history | grep uname >pru.txt
      Ve sonra txt, sonuçları yalnızca "uname" komutuyla kaydederdi 😉

  9.   Joaquin dijo

    En İyisi: Ctrl + r

  10.   Joseda dijo

    İyi makale ve çok faydalı. Bilgi için teşekkürler 🙂