Bagaimana cara mengubah ukuran histori selamanya?

69

Ukuran standar sejarah di Ubuntu adalah 1000 tetapi terlalu kecil. Saya ingin mengubahnya menjadi 10.000, Jadi saya tambahkan

export HISTSIZE=10000
export HISEFILESIZE=10000

ke .profile dan 'sumber' itu

source .profile

lalu aku lari

echo $HISTSIZE
echo $HISTFILESIZE

1000 ditampilkan untuk keduanya tetapi saya reboot komputer saya itu pergi 'default'. Mengapa itu tidak berhasil?

Mitoxys
sumber
Anda memiliki salah ketik di sini dalam pertanyaan: export HISEFILESIZE=10000(meskipun sepertinya Anda tidak melakukannya .profilejika gema berhasil). Untuk berjaga-jaga jika seseorang melihatnya di sini, itu seharusnyaHISTFILESIZE
Leo

Jawaban:

71

Saya mencoba hal yang sama, hanya untuk menemukan bahwa Ubuntu secara diam-diam menetapkan variabel-variabel ini ~/.bashrcsecara default, yang dijalankan alih-alih ~/.profileuntuk shell non-masuk seperti hanya membuka jendela terminal. Mengubah baris-baris ini di ~/.bashrcperbaiki untuk saya:

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
Paul
sumber
6
hisfilesize ada di KB?
Patoshi パ ト シ
12
@duckx Tidak, HISTFILESIZE berada dalam jumlah baris yang disimpan dalam file history , sementara HISTSIZE adalah jumlah baris yang disimpan dan tersedia oleh setiap proses shell (dan kemudian disimpan ke HISTFILESIZE). Perhatikan bahwa tanpa nilai (atau non-angka, atau negatif), maka tidak ada batasan yang terjadi.
vaab
2
Ini tidak berhasil karena suatu alasan di Terminal XFCE
Michal Przybylowicz
1
@MichalPrzybylowicz: dapat diperbaiki dengan menulis /etc/bash.bashrcjika itu dapat Anda terima. Lihat di bawah. (mungkin itu juga yang hilang export)
serv-inc
43

Dari Manual Referensi Bash :

HISTSIZE 
    The maximum number of commands to remember on the history list.

    If the value is 0, 
       **commands are not saved** in the history list. 

    Numeric values less than zero result in 
       every command being saved on the history list (there is no limit). 

Jadi untuk daftar riwayat tanpa batas , buat:
HISTSIZE = (beberapa angka kurang dari 0 )

HISTFILESIZE 
    The maximum number of lines contained in the history file. 

    When this variable is assigned a value, 
        the history file is truncated, if necessary, 
        to contain no more than that number of lines 
        by removing the oldest entries. 

        The history file is also truncated to this size after 
        writing it when a shell exits. 

    If the value is 0, 
        **the history file is truncated to zero size.** 

    Non-numeric values and numeric values less than zero 
        inhibit truncation. 

Jadi untuk .bash_history file riwayat yang tak terbatas , buat:
HISTFILESIZE = (beberapa angka kurang dari 0 )

Pasangkan Sir Parser
sumber
2

Seperti disebutkan oleh @Michal Przybylowicz , file-file ini tampaknya diabaikan di Xubuntu (dan Lubuntu) kadang-kadang. Jika demikian, Anda bisa menulis baris

export HISTSIZE=10000
export HISTFILESIZE=10000

untuk/etc/bash.bashrc . Ini akan mengubah nilai-nilai variabel lingkungan ini secara global.

serv-inc
sumber