Dosyamın içeriğini görüntülemek istiyorum .bash_historyancak oraya komut satırı üzerinden nasıl gideceğimi bilmiyorum.
/home/username/.bash_history mi
.bash_historysadece bir terminal kapalı olduğunda eklenir.
Dosyamın içeriğini görüntülemek istiyorum .bash_historyancak oraya komut satırı üzerinden nasıl gideceğimi bilmiyorum.
/home/username/.bash_history mi
.bash_historysadece bir terminal kapalı olduğunda eklenir.
Yanıtlar:
Eğer gerçek dosyayı kendisi erişmek istiyorsanız, sadece (kullandığım favori metin düzenleyicisi kullanabilirsiniz emacsancak kullanabileceğiniz plumabir geditya vimya neyse):
emacs ~/.bash_history
Geçmiş dosyanız varsa varsayılan konum budur. Orada bir şey bulamazsanız, geçmiş dosyanın adını değiştirmiş olabilirsiniz. Bu $HISTFILEdeğişkende saklanır , bu nedenle geçerli değerini kontrol etmek için yazdırın:
echo $HISTFILE
Dosya yerine, sadece geçmişinizi görmek istiyorsanız, history@ minerz029 önerildiği gibi çalıştırabilirsiniz . Komut hiçbir seçenekleri ile, Sadece içeriğini yazdırır henüz hat numaraları ile, o dosyaya yazılır bulunduğumuz kabuğunda çalıştırılan komutları takip eder.history$HISTFILE
Aslında Eğer ihtiyaç çıktısını .bash_historydosyası, değiştirmek historyile
cat ~/.bash_historyaşağıda komutları tümünde.
Önünde numarasız komutları gerçekten istiyorsanız, bu komutu aşağıdaki yerine kullanın history:
history | cut -d' ' -f 4-
Aksi takdirde, hiçbir fark olmayacak (farklı bir kabuk kullanıyorsanız hariç).
Kullanabilirsiniz
history | tail -n 15
Tarihin yalnızca son 15 satırını, en son yazdırılan (altta) ile almak için.
Alternatif olarak, kullan
history | grep "apt-get" | tail -n 15
apt-getEn son basılan en son basılan komutları almak için (en altta). apt-getAramak istediğiniz herhangi bir komutla (veya komut argümanıyla) değiştirebilirsiniz (normal bir ifade olabilir).
Kullanabilirsiniz
history | tac | less
En sondan başlayarak yürütülen tüm komutları taramak için Çıkmak qiçin tuşuna basın .
Benzer şekilde, kullan
history | grep "apt-get" | tac | less
İçinde " " ile yürütülen tüm komutları apt-get(argümanlar dahil) baştan sona en yeni olandan başlayarak kaydırmak için. Çıkmak qiçin tuşuna basın .
Minerz029'un mükemmel cevabına ek olarak.
Tekrarlamak için - 'tarihçe' komutu, yanında bir sayı ile birlikte geçmişi yazdırır.
Tarihin çıktısını grep, daha az vb.
Tarihin çıkışında ayrıca çıkışın yanında solda bir sayı gösterilir. Örneğin
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 numara ile komutu yeniden çalıştırabilirsiniz.
örneğin, 473'ü tekrar çalıştırmak için, terminale girecektim
admin@xen1~$ !473
Tarihçe çıktısında 473'ün yanındaki komutu tekrarlamak için enter tuşuna basın.
Ayrıca tuşlarını yazarak komut geçmişinde etkileşimli olarak geriye doğru arama yapabilirsiniz , sonra komutun ctrl + riçeriğini yazmaya başlayın ve onu arayacak ve dolduracaktır. Bulduğunuzda, tekrarlamak için enter yazabilir veya [tab]önce komutu düzenlemek için komut satırına kopyalamak için tuşuna basın .
Tabii ki, bu son iki seçenek bash kabuğunda çalışıyor. Bu özelliklerin diğer kabuklarda çalışıp çalışmadığından emin değilim. Ancak bash Ubuntu varsayılan kabuğu olduğundan, onları orada bulmalısınız.
"Kutu öner" benzeri bir geçmişi denemek isteyebilirsiniz https://github.com/dvorka/hstr - Bash tarihini okur ve hızlı gezinmeyi sağlar.
history | less