Bash geçmişini tamamen nasıl temizleyebilirim?

Sunucumun geçmişinden önceki tüm komutları temizlemek istiyorum. Kullandım history -c ve her şey temizlenmiş gibi görünüyor ama sunucuya ssh yaptığımda, tüm komutlar hala orada.

Onları kalıcı olarak nasıl temizleyebilirim?

Dosya ~/.bash_history geçmişi saklıyor.

Sunucudaki bash geçmişini tamamen temizlemek için terminal'i açın ve şunu yazın:

cat /dev/null > ~/.bash_history

Diğer alternatif yol bağlantı kurmaktır ~/.bash_history -e doğru /dev/null

Ancak,

Can sıkıcı bir yan etki, geçmiş girişlerinin bir hafızaya kopyala ve olacak oturumu kapattığınızda dosyaya geri temizleme.

Bu soruna geçici bir çözüm bulmak için aşağıdaki komutu kullanın (benim için çalıştı):

cat /dev/null > ~/.bash_history && history -c && exit

Ne yapmalı:

İçinde her bash kabuğunu açın (birden fazla terminaliniz açık olabilir):

history -chistory -w

Neden: Yukarıda belirtildiği gibi, history -c dosyayı boşaltır ~/.bash_history. Bash kabuğunun geçmişi bash_history dosyasına hemen temizlemediğine dikkat etmek önemlidir. Bu nedenle, (1) geçmişi dosyaya silmek ve (2) geçmişi temizlemek önemlidir, tüm terminallerde. Yukarıdaki komutların yaptığı şey budur.

Referans: http://www.giannistsakiris.com/index.php/2007/09/13/how-to-clear-bash-history-and-what-to-watch-out-for/

geçmişi sonsuza dek temizlemek için aşağıdaki komutları yürütün

history -c && history -w

Başarılar!

Çok daha basit bir tane daha var: koşmak history -c terminal isteminde ve gitti tüm girişler bash_history dosya.

Bunu yapmanın başka bir yolu da ~/.bash_history kullanarak dosya rm ~/.bash_history emretmek. Başka bir zaman oturum açtığınızda, .bash_history dosya otomatik olarak oluşturulur.

Geçerli kabuğun geçmişini temizle:

history -c

Oturumu kapattığınızda, geçerli kabuğunuzun geçmişi ~/ değerine eklenir.önceki kabukların geçmişlerinin bir önbelleği olan bash_history , maksimum sayıya (bkz. "man bash" içindeki HİSTFİLESİZE) .

Geçmişi tamamen kaldırmak istiyorsanız, aslında ~/ boşaltmanız gerekir.yukarıdaki girdilerin çoğunun önerdiği bash_history . Mesela:

history -c && history -w

Bu, geçerli kabuğun geçmişini temizler ve ardından geçerli kabuğun geçmişini (boş) ~/ üzerine yazmaya zorlar.bash_tarihi....veya daha doğru olması için, onu HİSTFİLE'IN üzerine yazmaya zorlar (varsayılan olarak ~/.bash_tarihi).

Umarım bu yardımcı olur.

rm ~/.bash_history; history -c; logout

Şimdi tekrar giriş yap ve yukarı okunun sana hiçbir şey vermediğine tanık ol.

Bunu dene

düzenleme .profile ve dosyanın sonuna aşağıdaki satırı ekleyin

rm -f .bash_history

bu şekilde, her giriş yaptığınızda, sizi silecektir.bash_history dosyası sizin için otomatik olarak. -R özyinelemeli kaldır seçeneğini eklemek tehlikeli görünüyor ve gerekli değil.