So verwenden Sie Ihren Bash-Verlauf im Linux- oder macOS-Terminal
Die Bash-Shell ist die Standard-Terminalumgebung, die in den meisten Linux-Distributionen enthalten ist, die in macOS enthalten sind, und verfügbar für die Installation unter Windows 10 . Es merkt sich die von Ihnen eingegebenen Befehle und speichert sie in einer Verlaufsdatei. Sie kennen wahrscheinlich ein paar Grundlagen der Bash-Historie, aber sie ist viel mächtiger, als Sie vielleicht denken.
Tastatürkürzel
VERBUNDEN: Die besten Tastenkombinationen für Bash (auch bekannt als Linux- und macOS-Terminal)
Um durch Ihren Bash-Verlauf zu scrollen, können Sie einige von Die vielen nützlichen Tastenkombinationen von bash . Drücken Sie diese Tastenkombinationen und Befehle, die Sie zuvor verwendet haben, werden an der Eingabeaufforderung angezeigt.
- & rsaquo; So verwenden Sie Ihren Befehlsverlauf in der Windows-Eingabeaufforderung
- & rsaquo; Die besten Tastenkombinationen für Bash (auch bekannt als Linux- und macOS-Terminal)
- & rsaquo; Was ist der Unterschied zwischen Bash, Zsh und anderen Linux-Shells?
- & rsaquo; Werden Sie mit diesen 8 Tricks ein Linux-Terminal-Power-User
- & rsaquo; Durchsuchen Sie Ihren Terminalverlauf sofort mit einer Tastenkombination
- & rsaquo; So verwenden Sie den Befehl history unter Linux
- › Funktionen vs. Formeln in Microsoft Excel: Was ist der Unterschied?
- › Der Computerordner ist 40: Wie Xerox Star den Desktop erstellte
Bash verfügt auch über einen speziellen Abrufmodus, mit dem Sie nach Befehlen suchen können, die Sie zuvor ausgeführt haben, anstatt sie einzeln durchzublättern.
Sehen Sie sich Ihren Bash-Verlauf an
Sie können Ihren gesamten Bash-Verlauf auf den Bildschirm drucken, indem Sie einen einzigen Befehl ausführen:
grep
Sie sehen eine Liste aller Befehle in Ihrem Bash-Verlauf, zusammen mit einer Nummer links von jedem. Der Befehl mit einer 1 daneben ist der älteste Befehl in Ihrem Bash-Verlauf, während der Befehl mit der höchsten Nummer der neueste ist.
VERBUNDEN: Werden Sie mit diesen 8 Tricks ein Linux-Terminal-Power-User
Sie können mit der Ausgabe alles machen, was Sie möchten. Du könntest zum Beispiel Pfeife es zum |_+_|Befehl, um Ihren Befehlsverlauf zu durchsuchen.
tail
Anzeige
Sie können es auch an den |_+_|-Befehl weiterleiten, um nur eine kleine Anzahl der zuletzt ausgeführten Befehle anzuzeigen. Der folgende Befehl würde beispielsweise die letzten 5 Einträge in Ihrem Verlauf anzeigen.
history
Führen Sie Befehle aus Ihrem Verlauf aus
Bash kann vorherige Befehle schnell erweitern oder sie erweitern und ändern. Diese Funktion wird als Verlaufserweiterung bezeichnet und verwendet ein Ausrufezeichen, das als Knall bezeichnet wird. Geben Sie sie einfach an der Eingabeaufforderung ein und drücken Sie die Eingabetaste, um sie wie jeden anderen Befehl auszuführen.
Um einen bestimmten Befehl aus Ihrem Verlauf anhand seiner Nummer auszuführen, verwenden Sie den folgenden Befehl:
!-2
Angenommen, Sie möchten den 12. Befehl aus Ihrem Bash-Verlauf ausführen. Das ist der Befehl mit einer 12 links davon, wenn Sie den Befehl |_+_| ausführen. Sie würden den folgenden Befehl eingeben.
!!
Geben Sie Folgendes ein, um den zuletzt ausgeführten Befehl erneut auszuführen. Dies hat die gleiche Wirkung wie das einmalige Drücken des Aufwärtspfeils, um den vorherigen Befehl anzuzeigen und dann die Eingabetaste.
!-1
Anzeige Sie können auch auf einen Befehl eine bestimmte Anzahl von Zeilen zurückgreifen. Zum Beispiel |_+_| würde den vorletzten Befehl ausführen, den Sie ausgeführt haben. |_+_| bedeutet dasselbe wie |_+_| |_+_|.
Diese Erweiterung funktioniert überall auf der Linie. Sie können vor oder nach |_+_| . alles hinzufügen, was Ihnen gefällt oder einen der anderen Ausdrücke in diesem Abschnitt. Sie können beispielsweise den folgenden Befehl eingeben, um den letzten Befehl, den Sie über |_+_| ausgeführt haben, erneut auszuführen und ihm Root-Rechte zu geben. Dies ist besonders nützlich, wenn Sie vergessen, |_+_| hinzuzufügen, bevor Sie einen Befehl ausführen.
Oder Sie könnten zum Beispiel den vorherigen Befehl erneut ausführen und seine Ausgabe an grep weiterleiten, um nach Text zu suchen.
!!
Geben Sie Folgendes ein, um in Ihrem Verlauf nach einem Befehl zu suchen und ihn auszuführen. Dadurch wird der letzte Befehl ausgeführt, der dem von Ihnen angegebenen Text entspricht:
sudo
Wenn Sie also kürzlich einen Befehl ausgeführt haben, der mit |_+_| begann, können Sie den folgenden Befehl ausführen, um danach zu suchen. Dies durchsucht Ihren Verlauf rückwärts, sucht den neuesten Befehl, der mit |_+_| beginnt, und führt ihn sofort aus:
sudo
Du kannst ein |_+_| . anhängen zu einer der oben genannten Erweiterungen und bash gibt den Befehl an das Terminal aus, ohne ihn auszuführen. Dies ist nützlich, wenn Sie bestätigen möchten, dass Sie den richtigen Befehl auswählen, bevor Sie ihn ausführen.
ping
pi
:p
Wiederverwenden von Argumenten aus Ihrem Verlauf
Mit Bash können Sie auch einen neuen Befehl ausführen, aber Argumente aus früheren Befehlen in Ihrem Verlauf verwenden. Auf diese Weise können Sie lange oder komplizierte Argumente schnell wiederverwenden, ohne sie erneut eingeben zu müssen.
touch /home/chris/some_long_file_name_you_dont_want_to_type_again
Anzeige Angenommen, Sie haben den Befehl |_+_| . ausgeführt . Sie möchten nun den Befehl |_+_| ausführen. Anstatt das Ganze von Grund auf neu einzugeben, könnten Sie Folgendes ausführen:
nano /home/chris/some_long_file_name_you_dont_want_to_type_again
Die |_+_| würde bash automatisch das letzte Argument Ihres vorherigen Befehls ausfüllen lassen.
Dies füllt nur das letzte Argument aus. Also, wenn du |_+_| . läufst und dann laufe |_+_| , würde dies einfach zu |_+_| erweitert werden.
Um diese Situation zu beheben, können Sie den folgenden Trick verwenden, um das erste Argument in der Zeile anstelle des letzten zu erweitern:
!$
Also, wenn du |_+_| . ausgeführt hast und dann lief |_+_| , würde bash dies auf |_+_| erweitern.
Anzeige
Um alle im vorherigen Befehl verwendeten Argumente anstelle eines einzelnen Arguments einzugeben, verwenden Sie Folgendes:
ping google.com -c 4
Also, wenn du |_+_| . ausgeführt hast Stattdessen würde bash automatisch alle Argumente ausfüllen, die Sie im vorherigen Befehl verwendet haben.
Sie können denselben Trick verwenden, mit dem Sie Befehle aus Ihrem Verlauf ausführen, um Argumente von ihnen zu erhalten. Nutzen Sie einfach das folgende Formular.
ping !$
Zum Beispiel haben wir den Befehl |_+_| . ausgeführt vorhin. Wenn wir den folgenden Befehl ausführen, durchsucht die bash den Verlauf rückwärts, um den letzten Befehl zu finden, der mit den von uns eingegebenen Buchstaben beginnt, und trägt das von uns angegebene Argument ein. Wenn wir also |_+_| . ausführen , sucht bash zurück, um den letzten Befehl zu finden, der mit |_+_| . beginnt und geben Sie das zweite Argument ein, das |_+_| ist.
Andere Tricks funktionieren, wie Sie vielleicht erwarten. Wenn Sie beispielsweise die Zahl durch ein Sternchen ersetzen, das als Platzhalter bezeichnet wird, füllt bash alle Argumente des Befehls aus:
ping 4
Führen Sie den vorherigen Befehl erneut aus und ändern Sie ihn
Bash ermöglicht es Ihnen auch, den vorherigen Befehl erneut auszuführen und etwas anzugeben, das geändert werden soll. Dies kann nützlich sein, um einen Tippfehler in einem Befehl zu korrigieren. Der folgende Befehl führt beispielsweise den vorherigen Befehl erneut aus und ersetzt den Text |_+_| darin mit dem Text |_+_|.
ping google.com -c 4
Anzeige Wenn Sie beispielsweise aus Versehen |_+_| ausgeführt haben, könnten Sie dann |_+_| . ausführen und bash würde den Befehl |_+_| . ausführen stattdessen.
Wo Ihr Verlauf gespeichert ist und wie Sie ihn löschen können
Die Bash-Shell speichert den Verlauf der Befehle, die Sie ausgeführt haben, standardmäßig in der Verlaufsdatei Ihres Benutzerkontos unter ~/.bash_history. Wenn Ihr Benutzername beispielsweise bob ist, finden Sie diese Datei unter /home/bob/.bash_history.
Da Ihr Verlauf in einer Datei gespeichert wird, bleibt er zwischen den Sitzungen bestehen. Sie können einige Befehle ausführen, sich abmelden und am nächsten Tag wiederkommen, und diese Befehle befinden sich immer noch in Ihrer Verlaufsdatei und können angezeigt und verwendet werden. Jedes Benutzerkonto verfügt über eine eigene Verlaufsdatei mit einem separaten Befehlsverlauf.
Um Ihren Bash-Verlauf zu löschen, können Sie den folgenden Befehl ausführen. Dadurch wird der Inhalt der .bash_history-Datei Ihres Benutzerkontos gelöscht:
ping !^
Bash merkt sich standardmäßig nur eine begrenzte Anzahl von Befehlen, wodurch verhindert wird, dass die Verlaufsdatei zu groß wird. Die Anzahl der History-Einträge, die sich die Bash merken kann, wird durch die Variable |_+_| gesteuert. Der Standardwert ist normalerweise 500 oder 1000 Einträge. Sie können den folgenden Befehl ausführen, um die Größe des Bash-Verlaufs auf Ihrem System anzuzeigen.
ping google.com'
Führen Sie den folgenden Befehl aus, um Ihren Verlauf auf Null zu setzen.
ping !*
Anzeige Für die aktuelle Sitzung speichert die bash keine Verlaufseinträge, es sei denn, Sie führen einen Befehl wie |_+_| . aus um es auf eine bestimmte Anzahl von Einträgen zurückzusetzen.
So ignorieren Sie Leerzeichen und Duplikate
Mit Bash können Sie Verlaufseinträge ignorieren, die mit einem Leerzeichen beginnen, wenn Sie die Variable |_+_| auf |_+_| . setzen
sudo hostname ubuntu
Geben Sie ein Leerzeichen vor einem Befehl ein, bevor Sie ihn in der Bash-Shell ausführen, und der Befehl wird normal ausgeführt, wird jedoch nicht in Ihrem Verlauf angezeigt, wenn Sie diese Variable aktiviert haben. Auf diese Weise können Sie Ihren Verlauf ein wenig sauberer halten und Befehle ausführen, ohne dass sie in Ihrem Verlauf erscheinen.
Mit Bash können Sie auch doppelte Befehle ignorieren, die Ihren Verlauf überladen können. Setzen Sie dazu |_+_|auf |_+_|
echo !su:2
Um sowohl die |_+_|- als auch die |_+_|-Funktion zu verwenden, stellen Sie die |_+_| variabel auf |_+_|
su
Anzeige Beachten Sie, dass von Ihnen festgelegte Bash-Variablen nur für die aktuelle Sitzung bestehen bleiben. Sie müssen diese der .bashrc-Datei Ihres Benutzerkontos hinzufügen, damit diese Werte bei jeder gestarteten Bash-Sitzung automatisch festgelegt werden, wenn Sie dies bevorzugen.
Die Bash-Shell ist ein komplexes Werkzeug mit viel mehr Optionen als diese. Konsultieren Sie die Bash History Builtins und Verlaufserweiterung Abschnitten im offiziellen Bash-Handbuch detailliertere Informationen und andere fortgeschrittene Tricks, die Sie verwenden können.
VERBUNDEN: Beste Linux-Laptops für Entwickler und Enthusiasten
WEITER LESENChris Hoffman ist Chefredakteur von How-To Geek. Er schreibt über ein Jahrzehnt über Technologie und war zwei Jahre lang Kolumnist bei PCWorld. Chris hat für die New York Times geschrieben, wurde als Technologieexperte von Fernsehsendern wie Miamis NBC 6 interviewt und ließ sich von Nachrichtenagenturen wie der BBC über seine Arbeit berichten. Seit 2011 hat Chris über 2.000 Artikel geschrieben, die fast eine Milliarde Mal gelesen wurden – und das nur hier bei How-To Geek.
Vollständige Biografie lesen