'.bash_history' dosyasını komut satırı ile nasıl görüntüleyebilirim?

55

.bash_history dosyamın içeriğini görmek istiyorum ancak komut satırından nasıl ulaşacağımı bilmiyorum.

    
sordu isupportopensource 14.10.2013 11:46

4 cevap

46

Gerçek dosyanın kendisine erişmek istiyorsanız, sadece favori metin düzenleyicinizi kullanın ( emacs kullanıyorum, ancak pluma gedit veya vim veya neyse):

emacs ~/.bash_history

Tarih dosyanızın varsayılan konumu budur. Orada hiçbir şey bulamazsanız, tarih dosyasının adını değiştirmiş olabilirsiniz. Bu $HISTFILE değişkeninde saklanır, böylece mevcut değerini kontrol etmek için yazdırın:

echo $HISTFILE

Dosya yerine geçmişinizi görmek istiyorsanız, history değerini @ minerz029 olarak önerebilirsiniz. Hiçbir seçenek içermeyen history komutu , $HISTFILE içeriğinizin içeriğini izler ve ardından Bu dosyaya henüz yazılmamış olan mevcut kabukta yürütülen komutlar ile satır numaraları.

    
verilen cevap terdon 14.10.2013 23:43
40

Aslında, .bash_history dosyasının çıktısını gerekiyorsa , aşağıdaki kodların hepsinde history 'yi% cat ~/.bash_history ile değiştirin.

Öncelikle sayıları olmayan komutları gerçekten istiyorsanız, history yerine bu komutu kullanın:

history | cut -d' ' -f 4-

Aksi takdirde, fark yoktur (farklı bir kabuk kullanmanız dışında).

Son 15 komut

kullanabilirsiniz

history | tail -n 15

geçmişinizin en son 15 satırını son en son yazdırılan sonuncu (en altta) olacak şekilde almak için.

Komut aranıyor

Alternatif olarak,

kullanın
history | grep "apt-get" | tail -n 15

Son yapılan en son yazdırılan son (en altta) apt-get içeren son 15 komutu almak için. % Co_de% öğesini, aramak istediğiniz herhangi bir komutla (veya komut bağımsız değişkeniyle) değiştirebilirsiniz (normal ifade olabilir).

Geçmişte gezinme

kullanabilirsiniz

history | tac | less

all ile en üstteki en baştan başlatılan komutları gözden geçirin. Çıkmak için q tuşuna basın.

Benzer şekilde,

kullanın
history | grep "apt-get" | tac | less

en üstte en baştan başlayarak "argümanlar da dahil olmak üzere" apt-get ile çalıştırılan komutları all boyunca kaydırmak için. Çıkmak için q tuşuna basın.

    
verilen cevap kiri 14.10.2013 12:07
15

Minerz029'un mükemmel cevabına ek olarak.

Tekrarlamak için - 'tarih' komutu, geçmişi bir sayıyla birlikte yazdırır.

Tarihin çıktısını grep, daha az vb. şeklinde pipetleyebilirsiniz.

Tarihin eki de çıkışın yanında solda bir sayı gösterir. örn.

  469  free
  470  ps -fA
  471  ps -fA | grep xend
  472  free
  473  sudo vi /etc/xen/xend-config.sxp 
  474  cat /etc/default/grub 

Bu numarayla komutu yeniden çalıştırabilirsiniz.

örn. 473'ü yeniden çalıştırmak için terminale yazacağım

 [email protected]~$ !473

ardından giriş çıkışında 473 yanındaki komutu tekrarlamak için enter tuşuna basın.

Ayrıca, komut geçmişinde ctrl + r tuşlarını yazarak etkileşimli olarak geriye doğru arama yapabilir , ardından komutun içeriğinin bir kısmını yazmaya başlayabilir ve onu arayacak ve dolduracaktır. Onu bulduğunuzda, girişi tekrarlamak için enter yazabilirsiniz veya önce komutu düzenlemek için komut satırına kopyalamak için [tab] tuşuna basın.

Tabii ki, son iki seçenek bash kabuğunda çalışıyor. Bu özelliklerin başka kabuklarda çalışıp çalışmadığından emin değilim. Ama bash Ubuntu varsayılan kabuğu olduğu için onları orada bulmalısınız.

    
verilen cevap Matt H 15.10.2013 01:47
1

"Öneri kutusu" nu denemek isteyebilirsiniz-geçmişe benzer bir şekilde İşte - Bash geçmişini okur ve hızlı gezinme sağlar.

    
verilen cevap Martin Dvorak 11.05.2015 14:15

Etiketlerdeki diğer soruları oku