Wie ändert man die Größe des Verlaufs für immer?

69

Die Standardgröße des Verlaufs in Ubuntu ist 1000, aber es ist zu klein. Ich möchte es auf 10000 ändern, also füge ich an

export HISTSIZE=10000
export HISEFILESIZE=10000

zu .profile und "Quelle" es

source .profile

dann renne ich

echo $HISTSIZE
echo $HISTFILESIZE

1000 wurde für beide angezeigt, aber ich starte meinen Computer neu, es ging "Standard". Warum funktioniert es nicht?

Mitoxys
quelle
Sie haben hier einen Tippfehler in der Frage: export HISEFILESIZE=10000(obwohl es scheint, dass Sie nicht in Ihrem haben, .profilewenn die Echos gearbeitet haben). Nur für den Fall, dass es hier jemand anschaut, sollte es seinHISTFILESIZE
Leo

Antworten:

71

Ich habe das Gleiche versucht, nur um herauszufinden, dass hinterhältiges Ubuntu diese Variablen ~/.bashrcstandardmäßig einstellt , was anstelle von ~/.profilenicht angemeldeten Shells wie dem Öffnen eines Terminalfensters ausgeführt wird. Das Ändern dieser Zeilen hat ~/.bashrces für mich behoben:

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
Paul
quelle
6
hisfilesize ist in KB?
Patoshi パ パ シ
12
@duckx Nein, ist in HISTFILESIZE Anzahl der Zeilen in der Geschichte gespeicherten Datei , während die HISTSIZE ist Anzahl der Zeilen gespeichert und verfügbar von jedem Shell - Prozess (und dann HISTFILESIZE gespeichert). Beachten Sie, dass ohne Wert (oder ohne Zahl oder negativ) keine Beschränkung erfolgt.
Vaab
2
Dies funktioniert aus irgendeinem Grund nicht auf dem XFCE-Terminal
Michal Przybylowicz
1
@MichalPrzybylowicz: Könnte durch Schreiben behoben werden, /etc/bash.bashrcwenn dies für Sie akzeptabel ist. Siehe unten. (vielleicht war es auch das fehlende export)
serv-inc
43

Aus dem Bash-Referenzhandbuch :

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

Also für eine unendliche Verlaufsliste machen Sie:
HISTSIZE = (eine Zahl kleiner als 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. 

Also für eine unendliche .bash_history Verlaufsdatei machen Sie:
HISTFILESIZE = (eine Zahl kleiner als 0 )

Pair Sir Parser
quelle
2

Wie von @Michal Przybylowicz erwähnt , scheinen diese Dateien in Xubuntu (und Lubuntu) manchmal ignoriert zu werden. Wenn ja, könnten Sie stattdessen die Zeilen schreiben

export HISTSIZE=10000
export HISTFILESIZE=10000

zu/etc/bash.bashrc . Dadurch werden die Werte dieser Umgebungsvariablen global geändert.

serv-inc
quelle