Die Bash-Shell ist die Standard-Terminal-Umgebung der meisten Linux-Distributionen, die mit macOS ausgeliefert wird und für die Installation unter Windows 10 verfügbar ist. Er merkt sich die eingegebenen Befehle und speichert sie in einer Verlaufsdatei. Sie kennen wahrscheinlich ein paar Grundlagen der Bash-Geschichte, aber es ist viel mächtiger als Sie vielleicht wissen.
RELATED: Die besten Tastaturkürzel für Bash (alias Linux und macOS Terminal)
Um durch Ihre Bash-Geschichte zu scrollen, können Sie einige der vielen nützlichen Tastenkombinationen von bash verwenden. Drücken Sie diese Tastenkürzel und die Befehle, die Sie zuvor verwendet haben, erscheinen an der Eingabeaufforderung.
Bash verfügt auch über einen speziellen "Recall" -Modus, mit dem Sie nach zuvor ausgeführten Befehlen suchen können, anstatt nacheinander durch sie zu scrollen.
Sie können Ihre gesamte Bash-Historie auf den Bildschirm drucken, indem Sie einen einzigen Befehl ausführen:
history
Sie sehen eine Liste aller Befehle in Ihrer Bash-Geschichte, zusammen mit einer Nummer links von jedem. Der Befehl mit einer "1" daneben ist der älteste Befehl in Ihrer Bash-History, während der Befehl mit der höchsten Nummer der jüngste ist.
RELATED: Werden Sie ein Linux-Terminal-Power-User mit diesen 8 Tricks
Sie können mit der Ausgabe alles tun, was Sie möchten. Zum Beispiel könnten Sie es an den Befehlgrep
leiten, um Ihren Befehlsverlauf zu durchsuchen.
Verlauf | grep your_search
Sie könnten es auch an dentail
-Befehl überleiten, 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 | tail -5
Bash kann frühere Befehle schnell "erweitern" oder sie erweitern und modifizieren. Diese Funktion wird als "Verlaufserweiterung" bezeichnet und verwendet ein Ausrufezeichen, das als "Knall" bezeichnet wird. Geben Sie sie an der Eingabeaufforderung ein und drücken Sie die Eingabetaste, um sie auszuführen, als würden Sie einen anderen Befehl ausführen.
Verwenden Sie den folgenden Befehl, um einen bestimmten Befehl aus Ihrem Verlauf anhand seiner Nummer auszuführen:
! #
For Beispiel: Sie möchten den 12. Befehl aus Ihrer Bash-Historie ausführen. Das ist der Befehl mit einer "12" links davon, wenn Sie den Befehlhistory
ausführen. Sie würden den folgenden Befehl eingeben.
! 12
Um den zuletzt ausgeführten Befehl erneut auszuführen, geben Sie Folgendes ein. Dies hat den gleichen Effekt, als ob Sie einmal den Pfeil nach oben drücken, um den vorherigen Befehl anzuzeigen, und dann die Eingabetaste drücken.
!!
Sie können auch auf einen Befehl eine bestimmte Anzahl von Zeilen zurückverweisen. Zum Beispiel würde! - 2
den vorletzten Befehl ausführen.!!
bedeutet dasselbe wie! - 1
.
Diese Erweiterung funktioniert überall auf der Linie. Sie können vor oder nach!!
oder einem der anderen Ausdrücke in diesem Abschnitt alles hinzufügen, was Ihnen gefällt. Zum Beispiel können Sie den folgenden Befehl eingeben, um den letzten Befehl, den Sie durchsudo
durchlaufen haben, erneut auszuführen und ihm Root-Rechte zu geben. Dies ist besonders nützlich, wenn Sie vergessen,sudo
hinzuzufügen, bevor Sie einen Befehl ausführen.
sudo !!
Oder Sie könnten zum Beispiel den vorherigen Befehl erneut ausführen und die Ausgabe an grep übergeben, um danach zu suchen etwas Text.
!! | grep text
Um nach einem Befehl in Ihrem Verlauf zu suchen und ihn auszuführen, geben Sie Folgendes ein. Dadurch wird der letzte Befehl ausgeführt, der dem von Ihnen angegebenen Text entspricht:
! text
Wenn Sie also kürzlich einen Befehl ausgeführt haben, der mitping
begonnen hat, können Sie den folgenden Befehl ausführen, um danach zu suchen. Dadurch wird der Verlauf rückwärts durchsucht, der letzte Befehl gesucht, der mit "pi
" beginnt, und sofort ausgeführt:
! Pi
Sie können einhinzufügen: p
zu irgendeiner der obigen Erweiterungen und bash wird den Befehl auf das Terminal drucken, ohne es auszuführen. Dies ist nützlich, wenn Sie bestätigen möchten, dass Sie den richtigen Befehl auswählen, bevor Sie ihn ausführen.
! 12: p
!!: p
! Text: p
Bash können Sie auch einen neuen Befehl ausführen, aber Argumente aus früheren Befehlen in Ihrem Verlauf verwenden. Dadurch können Sie lange oder komplizierte Argumente schnell wiederverwenden, ohne sie erneut eingeben zu müssen.
Befehl! $
Nehmen wir an, Sie haben den Befehlausgeführt touch / home / chris / some_long_file_name_you_dont_want_to_type_again
. Sie möchten nun den Befehlnano / home / chris / some_long_file_name_you_dont_want_to_type_again
ausführen. Anstatt das Ganze von Grund auf neu einzugeben, könnten Sie Folgendes ausführen:
nano! $
Das! $
würde bash automatisch das letzte Argument Ihres vorherigen Befehls ausfüllen.
Nur dieses füllt das letzte Argument aus. Wenn Sie alsoping google.com -c 4
ausführen und dannping! $
ausführen, wird dies auf "ping 4
".
erweitert Um diese Situation zu beheben, können Sie den folgenden Trick verwenden, um das erste Argument in der Zeile und nicht den letzten zu erweitern:
Befehl! ^
Also, wenn Sieping google.com -c 4
und dann rannteping! ^
, bash würde dies auf "ping google.com" erweitern.
.
Um alle im vorherigen Befehl verwendeten Argumente zu füllen Als einziges Argument würden Sie Folgendes verwenden:
Befehl! *
Wenn Sie stattdessenping! *
ausführen, füllt bash automatisch alle Argumente aus, die Sie im vorherigen Befehl verwendet haben .
Sie können den gleichen Trick verwenden, mit dem Sie Befehle aus Ihrem Verlauf ausführen, um Argumente von ihnen abzurufen.Verwenden Sie einfach das folgende Formular:
Befehl! Abc: #
Zum Beispiel haben wir den Befehl ausgeführtsudo hostname ubuntu
früher Wenn wir den folgenden Befehl ausführen, sucht bash rückwärts durch den Verlauf, um den letzten Befehl anzufangen ng mit den Buchstaben, die wir eingeben, und füllen Sie das von uns spezifizierte Argument aus. Also, wenn wirecho! Su: 2
ausführen, sucht bash zurück, um den letzten Befehl zu finden, der mit "su
" beginnt und sein zweites Argument, das ist, ausfüllt ubuntu
".
Andere Tricks funktionieren wie Sie vielleicht erwarten. Wenn Sie zum Beispiel die Zahl durch ein Sternchen ersetzen, wird die bash alle Argumente aus dem Befehl ausfüllen:
Befehl! Abc: *
Bash erlaubt auch Sie wiederholen den vorherigen Befehl und geben etwas an, das geändert werden soll. Dies kann nützlich sein, um einen Tippfehler in einem Befehl zu korrigieren. Mit dem folgenden Befehl wird beispielsweise der vorherige Befehl erneut ausgeführt, wobei der Text "abc
" durch den Text "xyz
" ersetzt wird.
^ abc ^ xyz
Für Beispiel: Wenn Sie versehentlichping gogle.com
ausgeführt haben, können Sie^ gog ^ goog
ausführen und bash würde stattdessen den Befehlping google.com
ausführen
Die Bash-Shell speichert den Verlauf der Befehle, die Sie in der Verlaufsdatei Ihres Benutzerkontos ausgeführt haben, standardmäßig in ~ / .bash_history. Wenn Ihr Benutzername beispielsweise "bob" lautet, finden Sie diese Datei unter /home/bob/.bash_history.
Da Ihr Verlauf in einer Datei gespeichert ist, bleibt er zwischen den Sitzungen bestehen. Sie können einige Befehle ausführen, sich abmelden und am nächsten Tag wiederkommen. Diese Befehle befinden sich immer noch in Ihrer Verlaufsdatei und können angezeigt und verwendet werden. Jedes Benutzerkonto hat eine eigene Verlaufsdatei mit einem separaten Befehlsverlauf.
Um Ihr 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:
history -c
Bash merkt sich standardmäßig nur eine begrenzte Anzahl von Befehlen, sodass die Verlaufsdatei nicht zu groß wird. Die Anzahl der History-Einträge, die bash speichert, wird vongesteuertHISTSIZE
Variable. 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:
echo $ HISTSIZE
Führen Sie den folgenden Befehl aus, um Ihren Verlauf auf Null zu setzen:
HISTSIZE = 0
Für den In der aktuellen Session speichert bash keine History-Einträge, es sei denn, Sie führen einen Befehl wieHISTSIZE = 1000
aus, um ihn auf eine bestimmte Anzahl von Einträgen zurückzusetzen.
Bash erlaubt es Ihnen, Historieneinträge zu ignorieren, die mit einem Leerzeichen beginnen, wenn Sie die VariableHISTCONTROL
aufignorespace setzen
HISTCONTROL = ignorespace
Geben Sie ein Leerzeichen vor einem Befehl ein, bevor Sie es in der Bash ausführen Shell und der Befehl werden normal ausgeführt, aber nicht im Verlauf angezeigt, wenn diese Variable aktiviert ist. Auf diese Weise können Sie Ihren Verlauf etwas sauberer halten, indem Sie Befehle ausführen, ohne dass diese im Verlauf angezeigt werden.
Mit Bash können Sie auch doppelte Befehle ignorieren, die Ihren Verlauf überladen können. Setzen Sie dazuHISTCONTROL
aufignoredups.
HISTCONTROL = ignoredups
Um die Funktionenignorespace
undignoredups
zu verwenden, setzen Sie dieHISTCONTROL
Variable bisIgnoriere beide.
HISTCONTROL = Ignoriere beide
Beachten Sie, dass die von Ihnen gesetzten Bash-Variablen nur für die aktuelle Sitzung bestehen bleiben. Sie müssen diese zur Bashrc-Datei Ihres Benutzerkontos hinzufügen, damit diese Werte automatisch in jeder von Ihnen gestarteten Bash-Sitzung gesetzt werden, wenn Sie das bevorzugen.
Die Bash-Shell ist ein komplexes Werkzeug mit viel mehr Optionen als diesen. Sehen Sie sich die Bashs History Builtins und History Expansion Sections im offiziellen bash Handbuch an, die detailliertere Informationen und andere fortgeschrittene Tricks enthalten, die Sie verwenden können.
In den letzten Jahren ist die Qualität von mobilen Kameras verrückt geworden. Leider hat Facebook dies nicht ganz erreicht. Wenn Sie ein Foto von Ihrem Telefon auf Facebook hochladen, wird es standardmäßig als Datei mit niedriger Auflösung hochgeladen. So ändern Sie das. Auf einem iPhone Öffnen Sie die Facebook App, wechseln Sie zum Bildschirm Optionen und wählen Sie Einstellungen.
Anpassen des Sperrbildschirms unter Windows 8 oder 10
Der Sperrbildschirm unter Windows 8 und 10 ist nicht nur ein Hintergrundbild oder eine Diashow. Es kann Benachrichtigungen und detaillierte Statusinformationen aus einer Vielzahl von Apps anzeigen. Sie können Cortana auch direkt über diesen Bildschirm aufrufen. Es gibt jedoch noch eine Menge Möglichkeiten, den Sperrbildschirm nach Ihren Wünschen anzupassen.