Linux'ta terminal geçmişini silme [kapalı]


170

Bir Linux terminalinde yukarı tuşunu kullandığınızda, önceki komutları tekrar kullanabilirsiniz. Harika özellik. Ancak, mysql komutunda hassas ayrıntıları ile mysql günlük kaydetmeye başladı.

Bu geçmişi nasıl silebilirim?


Üzgünüm, bash kullandığımdan bahsetmeyi tamamen unuttum.
Frank Vilea

16
Bu soru kapalı olduğu için bunu cevap olarak ekleyemiyorum. Bu komutla export HISTFILE=/dev/null
bash'a

1
Bunu da ekleyebilirim: komut satırına hassas bilgi girmeyin - komut istemini bekleyin: D
hummingBird

Yanıtlar:


343

Bash tarihinizi şu şekilde silebilirsiniz:

history -cw


4
Gerçekten bu cevap gibi - bu .bash_history, kabuğun yürürlüğe girmesi için yeniden başlatılmasını gerektiren silmek yerine hemen yürürlüğe girer .
mikemaccana

1
Ubuntu 14.04 makinemde çalışmıyor. Geçmiş yeni terminalde görünür. İşe yarayan tek şey >~/bash_history. Bunun için terminali yeniden başlatmanız gerekiyor.
Aniket Thakur

Ayrıca Mac OS X El Capitan'da da çalışır (sürüm 10.11.2'de test edilmiştir), ancak şu satırı sizin yerinize eklemeniz gerekir ~/.bash_profile: export SHELL_SESSION_HISTORY=0sonra bir source ~/.bash_profilesonlandırın ve Terminal uygulamanızı kapatın ve yeniden başlatın. Bu dışa aktarma komutunun ne yaptığını anlamak istiyorsanız, kesinlikle şu bağlantıyı kontrol etmelisiniz: superuser.com/questions/950403/…
King-Wizard

1
sadece -c yeterli değil mi? Kılavuzlar -c diyor ki, tüm girişleri silerek geçmiş listesini temizliyor. -w geçerli geçmişi geçmiş dosyasına yazar ve geçmiş listesine ekler. Sadece -c iyi çalışıyor.
Kahn

24

Bash kullanırsanız, terminal geçmişi .bash_history adlı bir dosyaya kaydedilir. Silin ve tarih kaybolacak.

Ancak, MySQL için daha iyi yaklaşım parolayı komut satırına girmek değildir. Değeri olmadan sadece -p seçeneğini belirtirseniz, parola girmeniz istenir ve günlüğe kaydedilmez.

Parolanızı her seferinde girmek istemiyorsanız başka bir seçenek de my.cnf dosyasında saklamaktır. ~ / .My.cnf adlı bir dosya oluşturun.

[client]
user = <username>
password = <password>

Dosya izinlerini değiştirdiğinizden emin olun, böylece dosyayı yalnızca siz okuyabilirsiniz.

Tabii ki, bu şekilde şifreniz, daha önce .bash_history'ye kaydedilmiş gibi, ana dizininizdeki düz metin dosyasına hala kaydedilir.


4
Belirtmek için +1 -p. Bu, bu sorun için tamamen doğru bir yaklaşımdır
andyb

2
Aslında, Linux sistemimde, bash geçmişi hatırlar ve oturumu kapatırken dosyayı yeniden oluşturur. Oturum açmanız, dosyayı silmeniz, tekrar oturum açmanız, ilk kabuktan çıkış yapmanız, dosyayı silmeniz ve ardından ikinci kabuktan çıkmanız gerekir.
cHao

Bunu işaret ettiğiniz için teşekkürler. Doğrudan komutta -p + parola seçeneğini kullanarak akıllı olduğumu düşündüm çünkü çok uzun bir parolam olduğu için yukarı ok tuşuna basmak çok daha hızlıydı.
Tekrar

5
Unutma unset HISTFILEcari geçmişi kaydedilmez böylece.
Ignacio Vazquez-Abrams

Cevabımı düzenledim ve her seferinde şifreyi girmesini engelleyen bir çözüm ekledim.
sagi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.