.bash_history
'u açarken yalnızca önceki oturumumdaki girdileri içerdiğini, geçerli oturumun yalnızca çıkışta eklendiğini fark ettim. Mevcut oturumun kaydedilmesini engellemenin bir yolu var mı? bash
'un çökmesi bile, bunun nasıl yapılacağını bilen bir seçenek. İşlemi kill -9
yapabilirim, ancak daha iyi bir yolu varsa bilmek isterim.Geçerli bash oturumunu tarihe kaydetme
cevap
geçerli oturum geçmişini temizlemek için history -c
komutunu kullanmak olacaktır. Öyleyse, kurtaracak hiçbir şey yok (hatta tarihin kendisini siliyor). unset
HISTFILE=
HISTFILE: yapmalıyım
Bu ayrıca histfile içeriklerini de yok edecektir. –
Bu benim için değil. Belki bir noktada değişti? Bash 4.2 kullanıyorum. – FatalError
evet, 3.2 için tarih nukes ve 4.2 için değil –
ayarını kaldır $HISTFILE
değişken
$ unset HISTFILE
HISTFILE kaldırılırsa ya da geçmiş dosyası yazılabilir değilse geçmiş kaydedilmez ise
. Bash çökmesini de fazla zarif
http://www.faqs.org/docs/bashman/bashref_106.html
Teşekkürler, bu, -c üzerinde tüm geçmişi nuke Bash sürümleri için iyidir. – dotancohen
benim için işe yaramadı – RSFalcon7
Bu vs 'tarihinin yararı -r ', çünkü giriş yaptıktan sonra yaptığınız her şeyi kaybedersiniz. Ama bununla birlikte bunu kaybedersiniz. _going_ oturumda yapmak. – Pylinux
.
Teşekkürler, bu işe yarar ve bazı eski sunucularda eski Bash için kullanacağım. – dotancohen
benim için çalışmadı – RSFalcon7
Ayrıca şu deneyleri deneyebilirsiniz: unset HISTFILE Bu oturumda bir şeylerin tarihte olmasını istemiyorsanız, kesinlikle bir numaradır. Aksi halde HISTCONTROL ile ilgili yukarıdaki yorumuma bakın. – th3penguinwhisperer
history -c
'a benzer başka bir seçenek var, ancak bu mevcut oturumun önceki öğelerini silmez.
Bu sadece giriş yapmışsanız gibi HISTFILE
geçmişi yeniden yükler history -r
vardır.
umarım bu işe ya 4.3.11 önceki herhangi bash sürümünde bulunup bulunmadığını biliyorum ama yok Yine de listeye eklemek faydalı olacaktır.
İşte bu komuta ve -c
arasındaki farkı gösteren bir örnek: Benim için
[email protected]:~$ # I Just logged in
[email protected]:~$ history | tail -n6 # this shows commands from the previous session, which ends at item 4682 as well as from the current one
4679 2014-08-23 17:15:29 # Previous session
4680 2014-08-23 17:15:33 # Still the previous session
4681 2014-08-23 17:15:37 # note the datetime
4682 2014-08-23 17:15:44 exit
4683 2014-08-23 17:17:25 # I Just logged in
4684 2014-08-23 17:19:54 history | tail -n6 # this shows the last command, and the ones from the previous session
[email protected]:~$ # This is a secret command, so I need to remove the traces of this session
[email protected]:~$ history -r
[email protected]:~$ history | tail -n5 # Note that I went back to item 4682, and there are no traces of history -r command
6242 2014-08-23 17:15:29 # Previous session
6243 2014-08-23 17:15:33 # Still the previous session
6244 2014-08-23 17:15:37 # note the datetime
6245 2014-08-23 17:15:44 exit
6246 2014-08-23 17:22:26 history | tail -n5 # Note that I went back to item 4682, and there are no traces of history -r command
[email protected]:~$ history -C# instead if I issue history -c
[email protected]:~$ history # everything disappears
5248 2014-08-23 17:23:13 history # everything disappears
[email protected]:~$
Bash 4.3.39 üzerinde, 'history -r' Tarih dosyasının içeriğini mevcut geçmiş listesine ekler. Cevabını gönderdiğinde yaptıklarının böyle olup olmadığını söyleyemem ... Tarih numaraları, emirleriniz arasında çok şey atlıyor, ama iki katına çıkmayın. – user1902689
Onları eklediğinden emin misin? Bash 4.3.11'de sayılar, sayaç sıfırlanmadığı için ileriye doğru atlar, ancak içeriği orijinal olanlara eklemez. Gerçekten, eğer oturumu kapatır ve giriş yaparsanız, sayılar orijinal hallerine geri döner. –
aşağıdaki çalışır.
export HISTFILE=/dev/null
Bunun önünde bir boşluk olduğunu unutmayın. Modern dağıtımların çoğu, tarihe geçmiş bir mekândan sonra girilen komutları eklemezdi. Bu, bu satırın da geçmişinizde görünmesini engeller.
Bunun eski bir iş parçacığı olduğunu biliyorum. HISTCONTROL değişken ayarlanırsa, sadece belirli komutları istiyorsanız
kaydedilmesini değil çek: Sadece tamamlanması için bu eklemek istedim HISTCONTROL = ignoreboth'un veya HISTCONTROL = ignorespace
bir öncülüğünde başlayan her komut tarih tarihe geçmeyecek.
Sadece 2 sent.
Çok, teşekkürler penguen! – dotancohen
Bu güzel bir şey! –
- 1. doğru zaman gecikmesiyle bash oturumunu tekrar çalma
- 2. Belgeleri geçerli tarihe göre sıralayın
- 3. Geçerli dizini zsh geçmişine kaydetme
- 4. Bash: geçerli dizin değişkeni
- 5. Linux'taki geçerli tarihe x saniye ekle
- 6. -bash: İhracat: `= ': geçerli bir tanımlayıcı
- 7. R: Kazıma Sitesi, URL'ye Tarihe Göre Döngü Artırma, CSV'ye Kaydetme
- 8. bash: export: `= ': geçerli bir tanımlayıcı değil -bash: export:` =': geçerli bir tanımlayıcı değil
- 9. Geçerli durumu jquery tıklama işlevinden sonra kaydetme
- 10. Bash Shell Geçerli Tarih Eksi Gün Sayısı
- 11. Geçerli tarihe sahip olan klasörü powershell adıyla oluştur
- 12. Tarihin sadece tarih tarihini geçerli tarihe göre karşılaştır
- 13. minDate jQuery UI Datepicker'da geçerli tarihe nasıl ayarlanır?
- 14. Etkileşimli R oturumunu zorlama
- 15. ActionScript'te tarihe gün ekleyin
- 16. Bash
- 17. Facebook iOS SDK v4.0 Kullanıcı Oturumunu Denetle
- 18. bash dizesi bugüne kadar
- 19. bash
- 20. Webview'da kullanıcının Facebook oturumunu temizleme
- 21. Hazır oturumunu kuartz ile kullanma
- 22. bash
- 23. Yüksek Şemaları X-Eksenini, Tarihe ve Tarihe Verilen Verilerle Doldurun
- 24. Ruby - string'i tarihe dönüştür
- 25. Ayrıntılar tarihe göre listeleniyor
- 26. Dosyaları tarihe göre sırala
- 27. FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY Etkinliğime olarak tarihe
- 28. Tarihe göre bilgi ekleyin
- 29. Raylar tür sorgu tarihe
- 30. Seçilen tarihe sahip Datepicker?
Bunu gerçekleştirmenin hack bir yolu, 'kill -9 $$ 'özelliğini kullanmaktır. Terminalinizi bir SIGKILL göndererek, tarih dosyasına yazma şansınız olmaz. – jordanm