Sunucumun geçmişinden önceki tüm komutları temizlemek istiyorum. % Co_de% kullandım ve her şey temizlenmiş gibi görünüyor ama sunucuya ssh yaptığımda, tüm komutlar hala var.
Onları kalıcı olarak nasıl temizleyebilirim?
Sunucumun geçmişinden önceki tüm komutları temizlemek istiyorum. % Co_de% kullandım ve her şey temizlenmiş gibi görünüyor ama sunucuya ssh yaptığımda, tüm komutlar hala var.
Onları kalıcı olarak nasıl temizleyebilirim?
~/.bash_history
dosyası geçmişi tutuyor.
Bash geçmişini tamamen sunucuda temizlemek için terminali açın ve
yazıncat /dev/null > ~/.bash_history
Diğer alternatif yol, ~/.bash_history
ile /dev/null
arasında bağlantı kurmaktır
Yanıltıcı bir yan etki, geçmiş girişlerinin belleğe kopya içermesi ve oturumunuzu kapattığınızda dosyaya geri dönmesidir.
Bu geçici çözüm için aşağıdaki komutu kullanın (benim için çalıştı):
cat /dev/null > ~/.bash_history && history -c && exit
Ne yapmalı?
her açık bash kabuğunda (birden çok terminalin açık olması gerekebilir):
history -c
history -w
Neden:
Yukarıda belirtildiği gibi, history -c
, ~/.bash_history
dosyasını boşaltır. Bash kabuğunun geçmişi bash_history dosyasına hemen akıtmayacağına dikkat etmek önemlidir. Dolayısıyla, (1) geçmişi dosyaya akıtmak ve (2) geçmişi temizle, tüm terminallerde . Yukarıdaki komutlar böyle yapar.
Referans: İşte için
geçmişi sonsuza kadar silmek için aşağıdaki komutları uygulayın
history -c && history -w
iyi şanslar!
Başka bir daha basit bir tane daha var: terminal komut satırında history -c
çalıştırıyor ve bash_history
dosyasındaki tüm girdiler.
Bunu yapmanın başka bir yolu, ~/.bash_history
komutunu kullanarak rm ~/.bash_history
dosyasını silmektir. Başka bir zaman giriş yaptığınızda, .bash_history
dosyası otomatik olarak oluşturulur.
Mevcut kabuğun geçmişini temizle:
history -c
Oturumu kapattığınızda, mevcut kabuğunuzun geçmişine, önceki kabukların geçmişlerinin önbelleği olan bir sayı olan ~ / .bash_history öğesine eklenir (en fazla sayıya ("erkek bash" daki HISTFILESIZE "bölümüne bakın).
Geçmişi tamamen kaldırmak istiyorsanız, yukarıdaki girişlerin çoğunun önerdiği ~ / .bash_history 'i boşaltmanız gerekir. Gibi:
history -c && history -w
Bu, mevcut kabuğun geçmişini temizler ve daha sonra mevcut kabuğun geçmişini (boş) ~ / .bash_history .... 'nin üzerine yazmak veya daha doğru olması için HISTFILE' ın üzerine yazmasını zorlar (bu, varsayılan olarak ~ / .bash_history için). .
Bunun yardımcı olacağını umuyorum.
rm ~/.bash_history; history -c; logout
Şimdi tekrar giriş yapın ve okunuzun size hiçbir şey vermediğine tanık olun.
Bunu dene
.profile
dosyanızı düzenleyin ve dosyanın sonuna aşağıdaki satırı ekleyin
rm -f .bash_history
Bu şekilde, her giriş yaptığınızda, .bash_history dosyanızı sizin için otomatik olarak siler. -R yinelemeli kaldırma seçeneği eklemek tehlikeli ve gerekli değildir.