Die 2 Umgebungsvariablen, die sich hauptsächlich auf die Bash-Verlaufseinstellung zum Speichern der letzten Ausführungsbefehle auswirken, sind HISTSIZE und HISTFILESIZE . Der Beitrag ist eine kurze Anleitung zum Ändern der Anzahl der in der Bash-Historie gespeicherten Befehle.
HISTSIZE V/s HISTFILESIZE
Der Unterschied zwischen HISTSIZE und HISTFILESIZE ist, dass HISTSIZE die Anzahl der Befehle begrenzt, die von der Befehlshistorie angezeigt werden, während HISTFILESIZE die Anzahl der Befehle begrenzt, die in $HISTFILE gespeichert werden können.
Wenn man die Bash verlässt und mehr als $HISTSIZE Befehle in der einzelnen Bash-Sitzung ausgeführt wurden, wird der Inhalt von $HISTFILE durch die $HISTSIZE-Anzahl von Befehlen ersetzt. Wenn die Anzahl der Befehle in der Bash-Sitzung kleiner oder gleich $HISTSIZE ist, werden diese Befehle an $HISTFILE angehängt, solange $HISTFILESIZE dies zulässt.
Wenn die Anzahl der an $HISTFILE anzuhängenden Befehle plus die aktuell vorhandene Anzahl von Befehlen in $HISTFILE größer als $HISTFILESIZE ist, werden die ältesten Befehle in $HISTFILE entfernt, um sicherzustellen, dass die neuesten Befehle beibehalten werden.
So ändern Sie die Anzahl der im Bash-Verlauf gespeicherten Befehle
In Bash werden die Verlaufsbefehle standardmäßig in ~/.bash_history aufgezeichnet Datei. Sie können eine andere Datei als ~/.bash_history angeben, indem Sie die Umgebungsvariable HISTFILE verwenden . Die Anzahl der im Verlauf zu merkenden Befehle kann durch die Umgebungsvariable HISTSIZE angegeben werden . Fügen Sie Ihrem .bash_profile beispielsweise die folgende Zeile hinzu:
# vi ~/.bash_profile export HISTSIZE=500
Beenden Sie dann die aktuelle Shell und starten Sie eine neue. Oder Sie können die Datei .bash_profile ausführen, damit die Änderungen wirksam werden. Die Anzahl der zu merkenden Verlaufsbefehle wird auf 500 geändert.
# . .bash_profile
Ändern der Anzahl der im Bash-Verlauf gespeicherten Befehle in der aktuellen Shell
Man kann auch den folgenden Befehl ausführen, um zu erzwingen, dass die Verlaufsbefehle an $HISTFILE angehängt werden, obwohl mehr als $HISTSIZE Befehle in der Bash-Sitzung ausgeführt wurden:
# shopt -s histappendUNIX / Linux :Beispiele für den Bash-Verlaufsbefehl zum Wiederholen der letzten Befehle
CentOS / RHEL :So deaktivieren Sie den BASH-Shell-Verlauf
CentOS / RHEL :So erhalten Sie das Datum und die Uhrzeit des ausgeführten Befehls in der Ausgabe des Verlaufsbefehls