Bash tarihi nasıl temizlenir?

220

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?

    
sordu hd. 23.09.2012 07:44

8 cevap

287

~/.bash_history dosyası geçmişi tutuyor.

Bash geçmişini tamamen sunucuda temizlemek için terminali açın ve

yazın
cat /dev/null > ~/.bash_history

Diğer alternatif yol, ~/.bash_history ile /dev/null arasında bağlantı kurmaktır

Ancak,

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
    
verilen cevap devav2 23.09.2012 07:51
115

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

    
verilen cevap callpraths 11.04.2013 22:55
43

geçmişi sonsuza kadar silmek için aşağıdaki komutları uygulayın

history -c && history -w

iyi şanslar!

    
verilen cevap Edwin Jose 12.08.2013 14:39
19

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.

    
verilen cevap Peter Eijlander 10.03.2013 19:10
10

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.

    
verilen cevap Anwar 23.09.2012 08:18
5

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.

    
verilen cevap mobiGeek 10.07.2014 19:05
5
rm ~/.bash_history; history -c; logout

Şimdi tekrar giriş yapın ve okunuzun size hiçbir şey vermediğine tanık olun.

    
verilen cevap stolsvik 01.10.2013 21:16
0

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.

    
verilen cevap Mixed IT Prof 30.08.2014 20:06

Etiketlerdeki diğer soruları oku