Linux history Befehl Tutorial für Anfänger (8 Beispiele)

Wenn Ihre Arbeit die Ausführung von Tools und Skripten auf der Linux-Befehlszeile beinhaltet, bin ich sicher, dass es eine Menge Befehle gibt, die Sie jeden Tag ausführen würden. Diejenigen, die neu in der Befehlszeile sind, sollten wissen, dass es ein Tool gibt – den sogenannten Synchronverlauf -, das Ihnen eine Liste der Befehle anzeigt, die Sie zuvor ausgeführt haben.

In diesem Tutorial werden wir die Grundlagen des History-Befehls anhand einiger leicht verständlicher Beispiele diskutieren. Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele hier auf einem Ubuntu 16.04LTS-Rechner getestet wurden.

Linux History Befehl

Wenn Sie wissen, wie Sie Ihren Befehlszeilenverlauf effektiv nutzen können, können Sie täglich viel Zeit sparen. Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine gute Vorstellung davon vermitteln sollen, wie Sie den History-Befehl zu Ihrem Vorteil nutzen können.

Q1. Wie funktioniert der History-Befehl?

Die grundlegende Bedienung ist einfach – führen Sie einfach den Befehl’history‘ aus.

history

Wie funktioniert der History-Befehl?

So können Sie sehen, dass Ihre zuvor ausgeführten Befehle in der Ausgabe angezeigt werden. Beachten Sie, dass ich den Befehl „more“ verwendet habe, um sicherzustellen, dass die Ausgabeanzeige auf der ersten Seite angehalten wird (die gesamte Ausgabe von „history“ ist in der Regel sehr lang).

Q2. Wie kann man einstellen, dass auch Datum und Uhrzeit der Verlaufsanzeige angezeigt werden?

Wenn der History-Befehl das Datum und die Uhrzeit der Ausführung für jeden Befehl anzeigen soll, können Sie dies tun, indem Sie die Variable HISTTIMEFORMAT wie folgt exportieren:

export HISTTIMEFORMAT="%F %T: "

Das ist es. Das ist es. Wenn Sie nun den Befehl „history“ ausführen, sehen Sie die Datums- und Zeitangaben in der Ausgabe.

So stellen Sie sicher, dass Datum und Uhrzeit der Verlaufsanzeige angezeigt werden

Falls Datum und Uhrzeit für alle Befehle gleich sind, sollte die folgende Erklärung die Dinge verdeutlichen:

If you set the HISTTIMEFORMAT in bash your new entries get stored in the history file with a 
timestamp, older commands that don't have a timestamp (those before you ever set HISTTIMEFORMAT 
will display one and the same date-time-stamp (I assume the one from the first entry found with a 
real timestamp).

This problem should solve itself after your complete history has been updated in a few days.

You can look in ~/.bash_history to see what is the first line that has a date-time-stamp.
Those are lines starting with a # followed by a (currently) 10 digit number.

Q3. Wie kann man erreichen, dass die Historie die Aufzeichnung von Befehlen stoppt?

Wenn eine Situation eintritt, in der Sie nicht möchten, dass das System Ihren Befehlsverlauf speichert, können Sie dies mit der Variablen HISTSIZE tun. Exportieren Sie es einfach mit Null als Wert, und Sie sind gut.

Siehe folgendes Beispiel:

Wie man die Historie dazu bringt, die Aufzeichnung von Befehlen zu stoppen

Sie können also sehen, dass die Ausführung des Befehls’history‘ jetzt zu keinen Ergebnissen geführt hat.

Beachten Sie, dass es auch eine HISTFILESIZE-Variable gibt, die den Unterschied zwischen beiden darstellt:

HISTSIZE is the number of lines or commands that are stored in memory in a history list while your 
bash session is ongoing.

HISTFILESIZE is the number of lines or commands that (a) are allowed in the history file at startup
time of a session, and (b) are stored in the history file at the end of your bash session for use in
future sessions.

Q4. Wie kann man erreichen, dass die Historie nicht einen einzigen Befehl aufzeichnet?

Dies kann durch Setzen der Variablen HISTCONTROL auf „ignorespace“ erreicht werden. Dies kannst du auf folgende Weise tun:

export HISTCONTROL=ignorespace

Wenn Sie jetzt einen Befehl ausführen, der nicht in der Historie aufgezeichnet werden soll, führen Sie ihn einfach mit einem führenden Leerzeichen aus.

Q5. Wie kann man eine schnelle Verlaufssuche durchführen?

Natürlich können Sie den Befehl grep verwenden, um nach bestimmten Schlüsselwörtern oder Befehlen in der Ausgabe des Befehls history zu suchen. Es gibt aber auch eine viel schnellere Methode: die Reverse-i-search.

Es ist ganz einfach – alles, was Sie tun müssen, ist, STRG+R zu drücken, während Sie auf der Kommandozeile stehen, und Sie sehen, wie sich Ihr Prompt in so etwas verwandelt:

Geben Sie nun das Schlüsselwort ein, das Sie suchen möchten, und Sie werden rechts passende Vorschläge aus der Historie sehen. Zum Beispiel habe ich ‚man‘ (ohne Anführungszeichen) eingegeben, und das erste Ergebnis, das ich bekam, war ‚man apropos‘.

Wenn dies nicht das ist, was Sie suchen, können Sie das nächste passende Ergebnis erhalten, indem Sie erneut STRG+R drücken. Also war das nächste Ergebnis, das ich in meinem Fall bekam, „Mann finden Suche“.

Du kannst auf diese Weise weitersuchen. Sobald Sie das gewünschte Ergebnis erhalten haben, drücken Sie einfach die rechte Pfeiltaste und Sie erhalten den gesamten Befehl auf Ihrer Eingabeaufforderung.

So können Sie diesen Befehl jetzt ausführen oder ihn beliebig verwenden.

Q6. Wie kann man den vorherigen Befehl ausführen?

Es gibt zwei einfache Möglichkeiten, den zuletzt ausgeführten Befehl auszuführen: STRG+P drücken oder den folgenden Befehl ausführen:

!!

Glaubst du nicht (besonders nicht auf dem zweiten Weg)? Versuchen Sie es.

Falls die Anforderung darin besteht, den vorletzten Befehl schnell auszuführen, können Sie dies auf folgende Weise tun:

!-1

So weiter und so fort.

Q7. Wie kann man die Historie dazu bringen, doppelte Einträge in der Ausgabe zu ignorieren?

Dies kann durch Setzen des Parameters HISTCONTROLLE Variable zu’ignoreboth‘ und’erasedups‘. Du kannst es auf folgende Weise tun:

echo HISTCONTROL=ignoreboth:erasedups

Wenn Sie nun den Befehl history ausführen, enthält die Ausgabe keine Duplikate mehr.

Q8. Wie kann man die Geschichte löschen?

Wenn Sie den vorhandenen Verlauf löschen möchten, damit Sie neu beginnen können, verwenden Sie die Befehlszeilenoption -c.

history -c

Fazit

Sie werden wahrscheinlich zustimmen, dass die Geschichte ein sehr wichtiger Befehl ist, den Sie kennen sollten. In diesem Tutorial haben wir einige wichtige Tipps/Trick diskutiert, um das Beste aus diesem Tool herauszuholen. Sobald du diese geübt hast, gehe auf die Man Page des Tools für weitere Informationen.

Das könnte Dich auch interessieren …