Bash geçmiş dosyasının maksimum boyutu var mı?


Yanıtlar:


16

Sayıları belirtmek yerine,

unset HISTSIZE 
unset HISTFILESIZE
shopt -s histappend

bu durumda yalnızca disk boyutunuz (ve işletim sisteminizde veya FS'niz varsa "en büyük dosya sınırınız") sınırdır.

Bununla birlikte, bunun sonunda bash'ı daha da yavaşlatacağını unutmayın. daha iyi ölçeklenen teknikler için bu BashFAQ belgesine ve debian yönetim makalesine bakın (orijinal bağlantı öldü, aynaya bakın: archive.is ve archive.org ).


Ayrıca artırmanız gerekebilir history-sizeGözlerinde farklı inputrc.
Chris Down

Uyarı: Belirtildiği gibi [ unix.stackexchange.com/a/76129/78713 yetersiz ( below) , bu Bash'ın varsayılanları devralmasına ve varsa .bash_historybunlardan daha büyükse kısaltmasına neden olabilir .
Chris Povirk

8

Eski girişleri korumak için logrotate kullanabilirsiniz . Örneğin, arşivlemeyi tetikleyecek boyut sınırlarını ayarlamanıza olanak tanır. Normalde günlük bir cronjob ile çalıştırılır, ancak .bash_logoutsenaryonuzdan da çağırabilirsiniz .


Benim için en sürdürülebilir yaklaşım gibi görünüyor, çünkü boyut sınırlarının kaldırılması uzun vadede performans etkilerine sahip olacak. Her ne kadar yakında olmasam da, eşik değere ulaşacağım, korkarım ki bu tür etkileri fark etmeye başlamak biraz zaman alacaktır. Btw, ayarladığınız yapılandırmayı ve eklenecek seçenek bash oturum kapatma komutunu eklemeyi düşünün.
Balmipour

Bağlantı kesildi. Aynı amaçtaki bilgilere sahip başka bir bağlantıyı gösterecek şekilde düzenlenebilir?
Dr Beco

7

@Philomath, bu ortam değişkenlerini çözmek benim için hiç işe yaramıyor! Benim için bu, bash'ın .bash_history'yi yaklaşık 9KiB'ye kısaltmanın dahili varsayılanlarını kullanmasına neden oluyor.

Benim için ne işe yarar .bashrc içinde:

export HISTSIZE=
export HISTFILESIZE=
shopt -s histappend
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.