Terminal geçmişini manuel olarak nasıl kaydeder?


33

Anladığım kadarıyla terminal çıktığında tarihçe dosyasının güncelleniyor. Ama bazen bilgisayarım çöküyor ve terminal temiz bir şekilde çıkmıyor ve daha sonra rahatsız edici olan tarihimden bu komutları kaybediyorum. Bilgisayarımda bir erime olsa bile girişlerin hala oraya gitmesini sağlamak için hemen nasıl temizleyebilirim? Şu anda bu geçici çözümü kullanıyorum , ancak daha iyi bir yol olması gerektiğini düşünüyorum.

Ubuntu 12.10'da GNOME terminalini kullanıyorum.

Yanıtlar:


17

Süper Kullanıcılar sitesinden verdiğiniz bağlantıdaki cevapların, historykomutun varsayılan davranışına mutlaka 'geçici çözüm' olarak bakılmaması gerekir. Beşinci kabuğun, kutudan çıkarılan varsayılan davranışı vardır.

Okumayı şiddetle tavsiye ederim Tarih çizgilerini kaybetmekten nasıl kaçınabilirim? Bu değişikliklerin ne historyyaptığını bir açıklama için . Ek olarak, bunun neden historykomutun varsayılan davranışı olmadığı konusunda farkında olmanız gereken bazı kaygılar vardır .

  • performans - Her pencereden her komutu kaydettiğinizden history -a, .bash_historydosya oldukça büyüyebilir ve bash kabuğunu yüklemek için daha fazla kaynak gerektirir. Bu, daha uzun başlatma sürelerine neden olabilir (terminal oturumlarınız için, genel sistem başlangıcında değil).

  • organizasyon - (yukarıdaki maddeden) "eşzamanlı etkileşimli kabukların (belirli bir kullanıcı için) tarih komutları iç içe geçecektir. Bu nedenle tarih, tek bir kabukta yürütüldüğü için garantili bir sıralı komut listesi değildir."

Eğer bash kabuğunun ve bash_historyDenetim yoluyla dosya, şu makaleye bir göz atın: Geçmişi nasıl silebilirim?

Bazen (örneğin dengesiz bir sistem veya elektrik kesintisi), aşağıdaki komutları faydalı buldum.

Aşağıdaki satırları ~/.bashrcdosyanıza ekleyin :

unset HISTFILESIZE
HISTSIZE=3000
PROMPT_COMMAND="history -a"
export HISTSIZE PROMPT_COMMAND

shopt -s histappend

.bashrcDosyanızı bu komutu kullanarak kaynakladığınızdan emin olun.source ~/.bashrc



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.