GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verwenden Sie den Linux-Verlaufsbefehl

Einführung

Der history command in Linux ist ein integriertes Shell-Tool, das eine Liste der in der Terminalsitzung verwendeten Befehle anzeigt. history ermöglicht Benutzern, jeden aufgelisteten Befehl wiederzuverwenden, ohne ihn erneut eingeben zu müssen.

In diesem Tutorial zeigen wir Ihnen, wie der history Befehl funktioniert und verschiedene Möglichkeiten, ihn zu verwenden.

Voraussetzungen

  • Ein System, auf dem Linux ausgeführt wird.
  • Ein Konto mit sudo-Berechtigungen.
  • Zugriff auf das Terminalfenster.

So verwenden Sie den Linux-Verlaufsbefehl

Verwenden des history Befehl ohne Optionen zeigt die Liste der Befehle an, die seit dem Start der Terminalsitzung verwendet wurden:

history

Um die Befehlsverlaufsliste mit einer begrenzten Anzahl von Einträgen anzuzeigen, hängen Sie diese Zahl an den history an Befehl. Um beispielsweise nur die letzten fünf Einträge anzuzeigen, verwenden Sie:

history 5

Sobald Sie das Terminal schließen, speichert die Bash-Shell neue Befehlsverlaufseinträge in .bash_history Datei.

Datum und Zeitstempel verwenden

Die .bashrc Datei speichert die Bash-Shell-Einstellungen. Durch Ändern dieser Datei können Sie das Ausgabeformat des history ändern Befehl.

Öffnen Sie die .bashrc Datei mit einem Texteditor wie Nano:

sudo nano .bashrc

Um das Ausgabeformat so zu ändern, dass es Datums- und Zeitstempel enthält, fügen Sie die folgende Zeile zu .bashrc hinzu Datei:

export HISTTIMEFORMAT="%c "

Verwendung verschiedener Argumente nach HISTTIMEFORMAT können Sie den Detaillierungsgrad des Zeitstempels anpassen:

  • %d :Tag
  • %m :Monat
  • %y :Jahr
  • %H :Stunde
  • %M :Minuten
  • %S :Sekunden
  • %F :Vollständiges Datum (J-M-T-Format)
  • %T :Zeit (H:M:S-Format)
  • %c :Vollständiger Datums- und Zeitstempel (Tag-T-M-J H:M:S-Format)

Speichern Sie die Änderungen in der .bashrc Datei, starten Sie das Terminal neu und führen Sie den history aus Befehl zur Bestätigung des neuen Ausgabeformats:

history

Größe des Verlaufspuffers anzeigen

Die .bashrc Datei enthält zwei Einträge, die die Größe des Verlaufspuffers steuern:

  • HISTSIZE :Die maximale Anzahl von Einträgen für die Verlaufsliste.
  • HISTFILESIZE :Die maximale Anzahl von Einträgen in der .bash_history Datei.

Bearbeiten der HISTSIZE und HISTFILESIZE values ​​ändert, wie die Bash-Shell den Befehlsverlauf anzeigt und speichert.

Ändern Sie beispielsweise HISTSIZE Wert auf 10 macht die history Befehlsliste zeigt maximal 10 neuste Einträge.

Speichern der Änderungen in der .bashrc Datei, starten Sie das Terminal neu und führen Sie den history aus Befehl bestätigt das neue Ausgabeformat:

history

Einen Befehl wiederholen

Ausführen des history Mit dem Befehl können Sie jeden der Befehle in der Liste wiederverwenden. Um beispielsweise den ersten Befehl auszuführen (sudo apt update ) verwenden Sie erneut:

!1

Bindestrich hinzufügen (- ) vor der Befehlsnummer beginnt die Zählung vom Ende der Liste. Um beispielsweise den zehntletzten Befehl wiederzuverwenden (history 5 ), verwenden Sie:

!-10

Verwenden Sie doppelte Ausrufezeichen, um den letzten Befehl zu wiederholen:

!!

Suchen Sie einen Befehl nach Zeichenfolge

Das Hinzufügen einer Zeichenfolge nach dem Ausrufezeichen führt den letzten Befehl aus, der mit dieser Zeichenfolge beginnt. Zum Beispiel, um den letzten Befehl wiederzuverwenden, der mit sudo beginnt , verwenden Sie:

!sudo

Die Verwendung dieser Methode kann Probleme verursachen, wenn die Shell einen unerwarteten Befehl ausführt, insbesondere wenn nach einem Befehl gesucht wird, der mit sudo beginnt . Fügen Sie sicherheitshalber den :p hinzu Argument zeigt den Befehl an, ohne ihn auszuführen, sodass Sie den Befehl überprüfen und entscheiden können, ob Sie ihn ausführen möchten.

!sudo:p

Um nach einem Befehl zu suchen, der eine Zeichenfolge enthält, aber möglicherweise nicht damit beginnt, fügen Sie ein Fragezeichen neben dem Ausrufezeichen ein. Zum Beispiel, um den letzten Befehl wiederzuverwenden, der echo enthält :

!?echo

Im obigen Beispiel verwendet die Shell den letzten Befehl erneut, der echo enthält Zeichenfolge, obwohl der Befehl mit sudo beginnt .

Listen Sie die übereinstimmenden Befehle auf

Kombinieren von history und grep ermöglicht es Ihnen, eine Liste von Befehlen anzuzeigen, die eine Zeichenfolge enthalten. Zum Beispiel, um alle Befehle aufzulisten, die ufw enthalten , verwenden Sie:

history | grep ufw

Ausgeführten Befehl ändern

Verwenden Sie die folgende Syntax, um den zuletzt ausgeführten Befehl zu ändern:

^[old string]^[new string]^

Zum Beispiel ufw Befehl zum Aktivieren von Port 20 zeigt, dass der Port bereits aktiviert ist:

sudo ufw allow 20/tcp

Verwenden Sie die obige Syntax, um die Portnummer von 20 auf 22 zu ändern:

^20^22^

Aufzeichnen von Befehlen im Verlauf verhindern

Um das Aufzeichnen von Befehlen in der Verlaufsliste zu verhindern, deaktivieren Sie die Aufzeichnung vorübergehend mit:

set +o history

Um die Aufzeichnung wieder zu aktivieren, verwenden Sie:

set -o history

Verlauf löschen

Verwenden Sie das -d Option mit dem history Befehl, um einen Befehl aus der Verlaufsliste zu löschen. Löschen Sie zum Beispiel Befehlsnummer 87 mit:

history -d 87

Verwenden Sie das -c Option zum Löschen der gesamten Verlaufsliste:

history -c

Aktualisieren Sie die Verlaufsdatei

Die Bash-Shell speichert alle Aktualisierungen in der Befehlsverlaufsliste, wenn Sie die Terminalsitzung beenden. Der history Mit dem Befehl können Sie auch Änderungen speichern, während Sie sich in der Terminalsitzung befinden.

Mit -a Mit dieser Option können Sie die Befehlsverlaufseinträge dieser Sitzung an .bash_history anhängen Datei:

history -a

Eine andere Methode ist die Verwendung von -w Option zum Speichern der gesamten Verlaufsliste in .bash_history Datei:

history -w

Linux
  1. So verwenden Sie den Linux-Grep-Befehl

  2. So verwenden Sie den Verlaufsbefehl unter Linux

  3. So verwenden Sie den Su-Befehl unter Linux

  4. So verwenden Sie den id-Befehl unter Linux

  5. So verwenden Sie den Befehl „screen“ unter Linux

So verwenden Sie den Linux Top-Befehl

So verwenden Sie den fd-Befehl auf einem Linux-System

Wie verwende ich den wget-Befehl unter Linux?

Wie verwende ich den xargs-Befehl unter Linux?

So verwenden Sie den RPM-Befehl unter Linux

So verwenden Sie den which-Befehl in Linux