履歴サイズを永遠に変更する方法は?


69

Ubuntuの履歴のデフォルトサイズは1000ですが、小さすぎます。10000に変更したいので、追記します

export HISTSIZE=10000
export HISEFILESIZE=10000

.profile 、それを「ソース」

source .profile

それから私は走る

echo $HISTSIZE
echo $HISTFILESIZE

両方に1000が表示されましたが、コンピューターを再起動すると「デフォルト」になりました。なぜ機能しないのですか?


ここに質問のタイプミスがあります:(エコーが機能した場合、export HISEFILESIZE=10000あなたはあなたにいなかったようですが.profile)。誰かがそれをここで見た場合に備えて、そうすべきですHISTFILESIZE
レオ

回答:


71

私は同じことを試みましたが、卑劣なUbuntuは~/.bashrcデフォルトでこれらの変数を設定し、~/.profileターミナルウィンドウを開くなどの非ログインシェルの代わりに実行されます。これらの行を変更して~/.bashrc修正しました:

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

6
hisfilesizeはKB単位ですか?
パトシパトシ

12
いいえ@duckx、HISTFILESIZEはである行の数履歴に格納されたファイル HISTSIZEであるが、行の数が格納され、利用可能な各シェルプロセスによって(そしてHISTFILESIZEに保存します)。値(または非数値、負)がない場合、制限は発生しません。
vaab

2
これは、XFCEターミナル上でいくつかの理由で動作しません
ミハルPrzybylowiczに

1
@MichalPrzybylowicz:それが/etc/bash.bashrcあなたに受け入れられるなら、書くことで修正できます。下記参照。(多分それはまた、行方不明になったexport
SERV-INC

43

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). 

したがって、無限の履歴リストの場合、
HISTSIZE =(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. 

したがって、無限の.bash_history 履歴ファイルの場合、
HISTFILESIZE =(0未満の数値)を作成します。


2

@Michal Przybylowiczが述べたように、これらのファイルはXubuntu(およびLubuntu)では時々無視されるようです。もしそうなら、代わりに行書くことができます

export HISTSIZE=10000
export HISTFILESIZE=10000

/etc/bash.bashrc。これにより、これらの環境変数の値がグローバルに変更されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.