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?
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
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.
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.