Apakah ada ukuran maksimum untuk file bash history?

17

Bisakah saya menambah ukuran histori perintah di bash?

Perhatikan bahwa saya menggunakan komputer Red Hat Linux di departemen astrofisika sarjana di sini (jadi saya tidak mendapatkan banyak keistimewaan).

InquilineKea
sumber

Jawaban:

15

Alih-alih menentukan angka, Anda bisa melakukannya

unset HISTSIZE 
unset HISTFILESIZE
shopt -s histappend

dalam hal ini hanya ukuran disk Anda (dan "batas file terbesar" Anda, jika OS atau FS Anda memilikinya) adalah batasnya.

Namun, ketahuilah bahwa ini pada akhirnya akan memperlambat bash semakin banyak. lihat dokumen BashFAQ ini dan artikel administrasi-debian (tautan asli mati, lihat di cermin: archive.is dan archive.org ) untuk teknik yang skalanya lebih baik.

Philomath
sumber
Anda mungkin juga harus meningkatkan history-sizedi inputrc.
Chris Down
Peringatan: Seperti disebutkan [ unix.stackexchange.com/a/76129/78713)( di bawah) , ini dapat menyebabkan Bash mewarisi default dan, jika yang ada .bash_historylebih besar dari itu, untuk memotongnya.
Chris Povirk
8

Anda dapat menggunakan logrotate untuk menyimpan entri lama. Ini memungkinkan Anda, misalnya, untuk menetapkan batas ukuran yang akan memicu pengarsipan. Ini biasanya dijalankan dari cronjob harian, tetapi Anda mungkin juga memohonnya dari .bash_logoutskrip Anda .

rozcietrzewiacz
sumber
Sepertinya pendekatan yang paling berkelanjutan bagi saya, karena menghapus batas ukuran akan, pada akhirnya, memiliki dampak kinerja. Sementara saya tidak yakin saya akan mencapai treshold dalam waktu dekat, saya khawatir perlu waktu untuk mulai memperhatikan dampak seperti itu. Btw, pertimbangkan untuk menambah konfigurasi yang Anda atur, dan perintah bash logout optionnal untuk ditambahkan.
Balmipour
Tautannya rusak. Mungkin edit untuk mengarah ke tautan lain dengan info yang dimaksudkan sama?
Dr Beco
7

@ Philomath, mengesampingkan vars lingkungan itu tidak bekerja untuk saya sama sekali! Bagi saya, ini menyebabkan bash menggunakan inbuilt default-nya (tampaknya) memotong .bash_history menjadi sekitar 9KiB.

Apa yang berfungsi untuk saya adalah sebagai berikut di .bashrc saya:

export HISTSIZE=
export HISTFILESIZE=
shopt -s histappend
zenaan
sumber