Größe des Bash-Verlaufs
- Überblick über die Bash-Geschichte
-
Verwenden Sie den Bash-Befehl
history
, um den Bash-Verlauf anzuzeigen - Größe des Bash-Verlaufs
- Ändern Sie die Größe der Bash-Verlaufsdatei
- Legen Sie die unbegrenzte Größe der Bash-Verlaufsdatei fest
- Kontrollieren Sie den Bash-Verlauf
-
Speichern Sie den Verlauf in
HISTFILE
, bevor Sie sich abmelden
In diesem Tutorial erfahren wir mehr über den Verlauf von Bash, seine Größe und wie wir unsere Verlaufsgröße ändern und Grenzen handhaben können. Bevor wir uns unserem Thema zuwenden, wollen wir zunächst herausfinden, warum wir Geschichte in einer Bash-Shell brauchen und wie wir sie nehmen können.
Die meisten Entwickler, Systemadministratoren und Softwareanwendungsingenieure verbringen viel Zeit an der Linux-Befehlszeile. Als Menschen machen sie Tippfehler.
Außerdem haben viele Befehle eine Liste von Parametern/Optionen (mit ihrer jeweiligen Reihenfolge). Daher ist es schwierig, sie sich in ihrer genauen Reihenfolge zu merken.
Daher hilft uns der Verlauf, uns an den vorherigen Befehl zu erinnern, der in die Bash-Shell eingegeben wurde.
Überblick über die Bash-Geschichte
In Bezug auf den Verlauf verfolgt Bash die Befehle, Dateien und Verknüpfungen. Die Benutzer können auf der Befehlszeile mit dem Dienstprogramm Verlauf
eingeben.
Das Hilfsprogramm Verlauf
liefert nützliche Informationen. Es hilft nachzuvollziehen, wie es zu den aktuellen System- oder Kontoänderungen gekommen sein könnte.
Bash hat zwei eingebaute Befehle, die sich auf den Bash-Verlauf beziehen:
history
– Dieser Befehl bietet eine Liste der zuvor verwendeten Befehle aus Ihrem Bash-Verlauf und ermöglicht Ihnen auch, den Bash-Verlauf zu ändernfc
- Dieser Befehl führt alle Aufgaben des Befehlshistory
aus und ermöglicht die Ausführung des Befehls.
Alle Informationen über den Bash-Verlauf werden für Bash-Benutzer in der Datei ~/.bash_history
gespeichert, während es für andere Benutzer möglicherweise nur .history
ist.
Beginnen wir mit unserem history
-Befehl und sehen, wie er funktioniert.
Verwenden Sie den Bash-Befehl history
, um den Bash-Verlauf anzuzeigen
Wenn Sie Ihren gesamten Verlauf anzeigen möchten, können Sie den Befehl Verlauf
in die Shell schreiben. Es listet den gesamten Verlauf aus der Verlaufsdatei auf.
$ history
Die Ausgabe wird wie folgt aussehen:
1 ping google.com
2 sudo apt update
3 ping google.com
4 java --version
5 sudo apt install openjdk-17-jre-headless
6 sudo apt-get install gcc
7 sudo apt-get install gpp
8 sudo apt-get install g++
9 sudo apt-get install mingw-w64
10 sudo apt-get install codeblocks
11 codeblocks
12 sudo apt update
13 sudo apt update mu-editor
14 sudo apt install mu-editor
15 sudo apt update
16 python3 --version
17 clear
18 snap find pycharm
19 sudo snap install pycharm-professional --classic
20 clear
21 cd desktop/python
22 cd desktop/python task5.py
...
Es gibt auch andere hilfreiche Bash-Verlaufs
-Befehle, die wir nicht erklären werden, aber Sie können sie auf dieser Website nachlesen.
Der fc
-Befehl in Bash ist unter Linux auch als fix
-Befehl bekannt. Hauptsächlich wird es verwendet, um mehrzeilige Befehle zu ändern.
Der Parameter -l
beim Befehl fc
zeigt die bisherige Befehlshistorie.
Sehen wir uns das folgende Beispiel des Befehls und seiner Ausgabe an:
$ fc -l
302 284 ./a.out
303 285 gcc execve1.c -o e1
304 286 gcc execve2.c
305 287 ./a.out
306 288 $ sudo snap install whatsdesk
307 289 sudo snap install whatsdesk
308 290 cd ..
309 291 cd CodeForces/
310 292 pwd
311 293 history
312 294 1 ping google.com
313 295 ls
314 296 wc Test.c
315 297 fc -l
316 298 ls
317 clear
Größe des Bash-Verlaufs
Wenn Sie über die Bash-Verlaufsdatei sprechen, denken Sie, dass es auch einige Daten gibt. Der Standardwert der Bash-Verlaufsdatei ist 500
bis 1000
.
Dies ist die maximale Anzahl von Einträgen in der Verlaufsdatei. Aber es ist nicht dauerhaft, da wir unsere Verlaufsgröße mit verschiedenen Befehlen so konfigurieren können, wie wir möchten.
Lassen Sie uns sie erkunden.
Konfigurieren Sie den Bash-Verlauf
Um den Bash-Befehlsverlauf zu konfigurieren, müssen Sie Änderungen an der Datei ~/.bashrc
vornehmen. Die Datei ~/.bashrc
kann mit dem folgenden nano
-Befehl aktualisiert werden:
$ nano ~/.bashrc
Drücken Sie nach der Änderung Strg+O gefolgt von Strg+X zum Speichern und Schließen des nano
Editor. Führen Sie dann die folgenden Befehle aus, um die Bash-Einstellungen neu zu laden:
$ source ~/.bashrc
oder
$ . ~/.bashrc
Beide Befehle nehmen Änderungen in der Bash-Verlaufsdatei vor.
Ändern Sie die Größe der Bash-Verlaufsdatei
Die Variablen HISTSIZE
und HISTFILESIZE
beziehen sich auf die Bash-History. Die Variable HISTSIZE
hat eine Anzahl von maximal zwischenzuspeichernden Bash-Befehlen, während die Variable HISTFILESIZE
eine Anzahl von Top-Befehlen hat, die in der Verlaufsdatei gespeichert sind.
Standardmäßig können wir höchstens 500 Befehle in der Verlaufsdatei speichern.
Wir können diese Werte anzeigen, indem wir diese Variablen drucken; die Ausgabe kann auf verschiedenen Maschinen/Konfigurationen variieren. Hier ist ein Beispiellauf und das zugehörige Ergebnis:
$ echo $HISTSIZE
$ echo $HISTFILESIZE
1000
2000
Wir können diese Werte konfigurieren, indem wir die folgenden Zeilen in die Datei ~/.bashrc
einfügen:
$ HISTSIZE = 6000
$ HITFILESIZE = 6000
Auch hier können wir diese Variablen drucken, um die Werte zu überprüfen:
$ echo $HISTSIZE
$ echo $HISTFILESIZE
6000
6000
Legen Sie die unbegrenzte Größe der Bash-Verlaufsdatei fest
Im vorherigen Abschnitt wurde die Methode zum Ändern der Verlaufsgröße in Bash erläutert. Manchmal ist es jedoch praktisch, eine unbegrenzte Größe festzulegen. Wie werden wir das tun? Lass uns erforschen!
Sie können auch die Größe Ihres Bash-Verlaufs oder die Gesamtdateigröße festlegen, indem Sie die folgenden Schritte ausführen:
-
Ändern Sie die Bash-Verlaufsdatei. Wie Sie in StackOverFlow lesen können, gibt es einige Probleme mit der Bash-Verlaufsdatei, da sie in einigen Fällen abgeschnitten wird.
Wir können dieses Problem lösen, indem wir die Umgebungsvariable
HISTFILE
ändern, um ein anderes Verzeichnis zu verwenden.export HITSFILE= ~/.history
HISTFILE
bezieht sich auf den Pfad/Speicherort der Verlaufsdatei (der Standardwert ist~/.bash_history
). -
Erhöhen Sie die Verlaufsgröße. Setzen Sie die Variablen
HISTFILESIZE
undHISTSIZE
auf eine leere Zeichenfolge, um die Größe des Bash-Verlaufs unbegrenzt zu machen.$ export HITSFILESIZE= $ export HITSIZE=
-
Kopieren bestehender Historie. Obwohl wir eine neue Verlaufsdatei verwenden, sollten wir die vorherigen Dateibefehle nicht verlieren, also kopieren wir den Inhalt der alten Datei in die neue.
$ cp ~/.bash_history ~/.history
Kontrollieren Sie den Bash-Verlauf
Sie können Befehle aus dem Bash-Verlauf ausschließen, um Ausgaberauschen oder aus Sicherheitsgründen zu vermeiden. Sie können dies mit dem Verlaufssteuerbefehl HISTCONTROL
tun, der steuert, welcher Verlauf gespeichert wird.
Sie können festlegen, dass doppelte Einträge und Einträge mit führenden Leerzeichen in Ihrer ~/.bashrc
-Datei ignoriert werden.
ignorespace
– Dies eliminiert Befehle, die mit einer Space-History-Liste beginnen.ignoredups
– Dies eliminiert doppelte Befehle.ignoreboth
– Dies aktiviert sowohlignoredups
als auchignorespace
.erasedups
– Dies eliminiert Duplikate aus der gesamten Liste.
$ export HISTCONTROL=ignorespace:ignoredups
Zu ignorierende Befehle können Sie auch über die Variable HISTIGNORE
steuern. Es ist eine durch Doppelpunkte getrennte Liste von Mustern, in der wir alle Befehle angeben können, die wir aus dem Verlauf auslassen möchten.
Wenn Sie beispielsweise grundlegende und häufigste Befehle (z. B. ls
und pwd
) in der Verlaufsliste ignorieren möchten, schreiben Sie die folgende Zeile in die Datei ~/.bashrc
:
$ export HISTIGNORE="ls:pwd:"
Mit dem Befehlsverlauf von Linux Bash können Sie mehr tun, als die alten Befehle zu wiederholen.
Speichern Sie den Verlauf in HISTFILE
, bevor Sie sich abmelden
Die Befehle werden erst in die Bash-Datei geschrieben, nachdem sich der Benutzer abgemeldet hat. Allerdings steht mit dem Befehl history
die Schreiboption zur Verfügung, um die Historie vor dem Abmelden in die Datei zu schreiben.
Die Syntax lautet:
$ history -w
Dieser Befehl schreibt den gesamten Befehlsverlauf der aktuellen Sitzung in die HISTFILE
. Danach steht das Befehlsskript für die zukünftige Verwendung zur Verfügung.
In diesem Artikel haben wir schließlich den Bash-Verlauf, die Verlaufsgröße und die Dateigröße behandelt oder wie wir den Bash-Verlauf und seine Größe auf einen begrenzten oder unbegrenzten Bereich ändern können.