Verwenden und Anpassen des Bash -Befehlsverlaufs

Verwenden und Anpassen des Bash -Befehlsverlaufs
Die Bash -Shell ist die Standard -Befehlszeilenumgebung, die in den meisten Linux -Verteilungen verfügbar ist. Ähnlich wie bei allen Shell -Umgebungen führt es einen Aufzeichnung von Befehlen, die zuvor vom Benutzer ausgeführt wurden. Diese Aufzeichnung wird aufbewahrt und aufrechterhalten, auch wenn wir unser System neu starten.

Sie kennen vielleicht den grundlegenden Gebrauch des Verlaufsbefehls, aber es kann viel mehr tun als das. Die Bash -Historie wird normalerweise in der Datei gespeichert ~/.bash_history. Es ermöglicht es Ihnen, den gespeicherten Datensatz auf effiziente Weise zu erinnern und wiederzuverwenden, um das Beste aus der Bash History Saving Feature herauszuholen. Nicht nur das, sondern Sie können auch die Ausgabe des Bash -Befehls so anpassen und steuern, wie Sie es gewünscht haben.

In diesem Artikel werden wir erläutern.

Wir haben Debian 10 verwendet, um die in diesem Artikel genannten Befehle und Prozeduren auszuführen.

Verwenden von Bash -Befehlsverlauf

Betrachten der Bash -Geschichte

Um die gesamte Geschichte der Shell -Befehle anzuzeigen, können Sie den folgenden Befehl in Terminal ausführen:

$ Geschichte

Es wird den gesamten Historie für einen bestimmten Benutzer aus der Verlaufsdatei aufgelistet, die speziell für diesen Benutzer gespeichert ist. Sie werden alle Befehle sehen, die mit einer Zahl, die jedem von ihnen zugewiesen ist. Es wird die älteren Befehle oben mit Nummer 1 und den neueren Befehlen unten aufgelistet.

Durchsuchen des Verlaufsausgangs

Sie können auch nach einem bestimmten Schlüsselwort aus der Verlaufsausgabe suchen. Kombinieren Sie den Befehl History mit GREP und ein bestimmtes Schlüsselwort, um nach Befehlen zu suchen, die Ihrem angegebenen Schlüsselwort wie folgt übereinstimmen:

$ History | Grep [Schlüsselwort]

Um beispielsweise alle Befehle aufzulisten, die das Schlüsselwort „Finden“ enthalten, wäre der Befehl:

$ History | Grep finden

Last n -Befehle anzeigen

Der Befehl history standardmäßig listet die letzte 1000 Anzahl der von einem Benutzer ausgeführten Befehle auf. Im Fall möchten Sie nur eine bestimmte Nummer auflisten, sagen wir n Anzahl der zuletzt ausgeführten Befehl, führen Sie den folgenden Befehl im Terminal aus:

$ History n

Um beispielsweise die letzten 7 ausgeführten Befehle aufzulisten, wäre der Befehl:

$ History 7

Um die Anzahl der letzten n -Ausführungsbefehle anzuzeigen, die ein bestimmtes Schlüsselwort enthalten, können Sie die folgende Syntax verwenden:

$ History | Grep -Schlüsselwort | Tail -n

Ein Beispiel hierfür wäre es, die letzten 4 ausgeführten Befehle mit dem Schlüsselwort "Java" anzuzeigen.

$ History | grep java | tail -n

Älteste Befehle anzeigen

Um die älteste n -Anzahl von Befehlen anzuzeigen, können Sie die folgende Syntax in der Terminal verwenden:

$ History | Kopf -n

Verwenden Sie die folgende Syntax, um die älteste n Anzahl von Befehlen anzuzeigen, die ein bestimmtes Schlüsselwort enthalten:

$ History | Grep -Schlüsselwort | Kopf -n

Ein Beispiel hierfür wäre es, die ältesten 4 ausgeführten Befehle mit dem Schlüsselwort "Java" anzusehen.

$ History | Grep Java | Kopf -4

Klare Bash -Geschichte vollständig

Führen Sie den folgenden Befehl im Terminal aus, um den gesamten Bash -Verlauf zu entfernen:

$ history -cw

Anpassen des Bash -Befehlsverlaufs anpassen

Um den Bash -Befehlsverlauf anzupassen, müssen wir Änderungen in der ~/ vornehmen.BASHRC -Datei. Um das ~/ zu bearbeiten.BASHRC -Datei verwenden Sie den folgenden Befehl:

$ nano ~/.bashrc

Sobald Sie mit der Änderung der Datei fertig sind, verwenden Sie Strg+O und Strg+X, um den Nano -Editor zu speichern und zu schließen.

Führen Sie dann den folgenden Befehl aus, um die Änderungen anzuwenden:

$ source ~/.bashrc

Fügen Sie Datum und Zeitstempel hinzu, um die Geschichte zu verprügeln

Wenn Sie zusammen mit dem Befehlsverlauf Datum und Zeitstempel anzeigen möchten, können Sie dies tun, indem Sie die folgende Zeile in ~/ hinzufügen.bashrc:

$ export histimeFormat = ' %f, %t'

Jetzt laufen Geschichte Befehl und es wird den Befehlsverlauf mit entsprechenden Daten und Zeitstempel angezeigt.

Zunehmende Größe der Bash -Geschichte

Bash standardmäßig hält 500 Befehle in der Verlaufsliste. Wir können diesen Wert jedoch unter Verwendung des histarischen Wertes ändern.

Führen Sie den folgenden Befehl im Terminal aus, um die aktuelle Größe des Bash -Verlaufs anzuzeigen:

$ echo $ histSize

In ähnlicher Weise beträgt die Standardgröße der Bash -Verlaufsdatei 500. Es ist die maximale Anzahl von Einträgen, die in der Verlaufsdatei enthalten sind.

Um die Größe der Bash -Geschichte zu erhöhen, sagen wir 10000, fügen Sie die folgenden Zeilen in ~/ hinzu.BASHRC -Datei:

$ HistSize = 10000
$ HistFileSize = 10000

Um zu überprüfen, ob sich die Größe der Bash -Verlauf erfolgreich verändert hat, führen Sie die folgenden Befehle im Terminal aus:

$ echo $ histSize
$ echo $ histFileSize

Anhängen Bash -Befehle an die Historie -Datei

Wenn eine Bash -Sitzung geschlossen ist. Führen Sie den folgenden Befehl in Terminal aus: Um die aktuellen Einstellungen anzuzeigen, führen Sie den folgenden Befehl aus:

$ Shopt HistAppend

Die "Ein" in der Ausgabe zeigt die Option HistAppend ist aktiv. Während „Aus“ zeigt, ist die HistAppend -Option deaktiviert und die Datei wird überschrieben.

Öffnen Sie das ~//.BASHRC -Datei und:

Fügen Sie die folgende Zeile hinzu, wenn Sie die Befehle an die Verlaufsdatei anhängen möchten, anstatt zu überschreiben:

$ Shopt -s HistAppend

Oder fügen Sie die folgende Zeile hinzu, wenn Sie die Option Anhang deaktivieren möchten und die Datei beim Exit überschreiben möchten:

$ Shopt -U histAppend

Die Geschichte der Schale sofort die Geschichte

Bash standardmäßig speichert die Sitzung nur nach Ende der Sitzung in der Bash -Historie -Datei. Um dieses Standardverhalten zu ändern und so sofort jeden Befehl zu speichern, den Sie ausgeführt haben.

Bearbeiten Sie das ~//.BASHRC -Datei und fügen Sie die folgende Zeile hinzu:

$ Prompt_command = 'history -a' '

Wenn Sie nun einen Befehl ausführen, wird er sofort zur Verlaufsdatei hinzugefügt.

Kontroll -Bash -Geschichte

Wir können die Art und Weise steuern, wie Bash unseren Befehlsgeschichte über die HistControl -Variable speichert. Wir können es angeben, um doppelte Einträge zu ignorieren und/oder Einträge mit führenden weißen Räumen zu ignorieren.

  • Ignorespace - eliminiert Befehle, die mit einer Raumverlaufsliste beginnen.
  • IgnoredUps - Beseitigen Sie doppelte Befehle.
  • Ignoreboth - Aktivieren Sie sowohl Ignoredups als auch Ignorespace
  • EleasedUps- Beseitigen Sie Duplikate aus der gesamten Liste

Um diese Funktionen anzuwenden, öffnen Sie das ~//.bashrc und fügen Sie die folgende Zeile mit den vom Dickdarm getrennten Werten hinzu: wie folgt:

$ export histcontrol = ignorespace: ignoredups

Ignorieren Sie bestimmte Befehle

Wir können auch steuern, welche befiehlt. Es ist eine dicker getrennte Liste von Mustern, in denen wir alle Befehle angeben können, die wir von der Geschichte ignorieren möchten.

Wenn wir beispielsweise nicht die grundlegenden Befehle wie History, LS, PWD -Befehle in der Verlaufsliste auflisten möchten, fügen wir die folgende Zeile in das ~/ hinzu.BASHRC -Datei:

$ export histignore = "history: ls: pwd:"

Mit Linux Bash Command History können Sie viel mehr tun, als nur die alten Befehle zu wiederholen. In diesem Artikel haben wir gelernt, wie man die Bash -Geschichte verwendet, um die zuvor ausgeführten Befehle anzuzeigen, und auch gelernt, die Art zu steuern.