Programmierung & Skripten

Linux -Befehlszeile und Bash -Shell -Verknüpfungen

Linux -Befehlszeile und Bash -Shell -Verknüpfungen

Einführung

Obwohl Sie vielleicht denken, dass Sie gelernt haben, die Befehlszeile von Linux mit Bash Shell zu beherrschen, gibt es immer einige neue Tricks, die Sie lernen können, Ihre Befehlszeilenfähigkeiten effizienter zu gestalten. In diesem Artikel wird Ihnen ein paar weitere grundlegende Tricks beigebracht.

Expansion des Befehlsverlaufs Bash

Dieser Abschnitt befasst sich hauptsächlich mit Bash -Verknüpfungen in Kombination mit drei Bash -Historien -Erweiterungsfiguren “!","^"Und"#". Bash Command History Expansion Charakter “!”Zeigt den Beginn der Verlaufserweiterung an. Das "^" ist ein Substitutionscharakter, um einen zuvor ausgeführten Befehl zu ändern. Der letzte optionale Charakter ist „#“, was die Erinnerung an die Zeile als Kommentar bezeichnet.

Wiederholen Sie den letzten Befehl

$ echo Bash -Verknüpfungen
Verknüpfungen
$ !!
Echo Bash -Verknüpfungen
Verknüpfungen

!! ist wahrscheinlich die einfachste und beliebteste Bash -Verknüpfung, die Ihren letzten eingegebenen Befehl einfach zeigt und ausführt.

Wiederholen Sie den neuesten Befehl

$ echo Bash -Verknüpfungen
Verknüpfungen
$ wc -m /etc /bash_completion
45 /etc /bash_completion
$ !Echo
Echo Bash -Verknüpfungen
Verknüpfungen

Eintritt "!”Charakter gefolgt von Stichwort Wird Shell anweisen, nach einem letztem Befehl zu suchen, der mit beginnt Stichwort. Eine geringfügige Änderung des vorherigen Befehls kann durchgeführt werden, um nur den neuesten Befehl zu drucken, aber nicht auszuführen, aber nicht ausführen. Dies kann sehr praktisch sein, wenn Sie sich nicht sicher sind, was Ihr jüngster Befehl war, und möchten ihn nicht ausführen, bevor Sie in der Lage sind, seine Bedeutung zu bestätigen. Um das einfach hinzuzufügen :P am Ende Ihres Befehls gefolgt von !! Wenn Sie es gerne ausführen:

$ echo Bash -Verknüpfungen
Verknüpfungen
$ wc -m /etc /bash_completion
45 /etc /bash_completion
$ !Echo: p
Echo Bash -Verknüpfungen
$ !!
Echo Bash -Verknüpfungen
Verknüpfungen

Alle Argumente des letzten Befehls

$ echo Bash -Verknüpfungen
Verknüpfungen
$ touch !*
Berühren Sie Bash -Verknüpfungen
$ ls
Verknüpfungen

Der !* Die Verknüpfung wird auf alle Argumente erweitert, die vom letzten Befehl verwendet werden. In unserem obigen Beispiel haben wir alle früheren Argumente verwendet, die vom Echo -Befehl verwendet wurden, um Dateien mit dem Befehl touch mit denselben Argumenten zu erstellen.

Erstes Argument des letzten Befehls

$ echo Bash -Verknüpfungen
Verknüpfungen
$ touch !^
Berühren Sie Bash
$ ls
Verprügeln

Ähnlich wie im vorherigen Beispiel haben wir in diesem Beispiel die Bash -Verknüpfung verwendet !^ Nur das erste Argument des letzten Befehls wiederzuverwenden.

Letzter Argument des letzten Befehls

Echo Bash -Verknüpfungen
Verknüpfungen
$ touch !$
Tastenkombinationen
$ ls
Verknüpfungen

Das gleiche wie im vorherigen Beispiel können wir auch das letzte Argument, das dem zuvor Run -Befehl geliefert wurde, wiederverwenden.

Schnellbefehlssubstitution

Im folgenden Beispiel werden wir den vorherigen Befehl wiederholen, aber das Wort "Linux" durch "Bash" ersetzen.

$ echo Linux -Befehlszeile Linux -Befehlszeile
Linux -Befehlszeile Linux -Befehlszeile
$^Linux^bash^
Echo Bash -Befehlszeile Linux -Befehlszeile
BASH -Befehlszeile der Befehlszeile Bash -Befehlszeile

Das obige Beispiel hat das erste Auftreten des ersten Auftretens des Keyword -Linux durch Bash ersetzt. Dies entspricht:

$ !!: s/linux/bash/

Führen Sie den n -ten Befehl aus der Geschichte aus

Standardmäßig verfolgt Bash Shell alle Befehle, die Sie zuvor als Geschichte ausgeführt haben. Jeder Befehl in Ihrem Bash -Verlauf hat seine relevante Nummer. Das folgende Beispiel wird den Befehl 189. in Ihrem Bash -Befehlsverlauf ausführen.

$ !189

In ähnlicher Weise drucken Sie ihn zuerst mit früheren Beispielen, anstatt den Befehl direkt auszuführen, anstatt den Befehl direkt auszuführen :P.

 $ !189: p

HINWEIS: Um die letzten 5 Befehle in Ihrem Bash -Befehlsverlauf zu sehen, wird ausgeführt: $ History 5

Um den letzten 4. Befehl aus Ihrem Bash -Verlauf auszuführen, verwenden Sie Decrement -4:

$ !-4

Wiederholen Sie die gesamte Befehlszeile

$ Echo Bash -Befehlszeile !#
Echo Bash -Befehlszeile Echo Bash -Befehlszeile
Bash -Befehlszeile Echo Bash -Befehlszeile

Der !# verursacht die Befehlsausführung, alles zu wiederholen, was Sie in der gesamten Befehlszeile eingegeben haben. Sie können dieses Verhalten einschränken, indem Sie nur bestimmte Schlüsselwörter mit: n -ter Schlüsselwort drucken. Zum Beispiel, um nur das zweite Keyword neu auszudrucken, das Sie verwenden können:

$ echo Bash -Befehlszeile !#: 2
Befehl echo bash Befehlszeile
BASH -Befehlszeilenbefehl

Verknüpfungen zum Bearbeiten Ihrer Bash -Befehlszeile

Liste der Basis -Bash -Befehlszeilenbearbeitungsverknüpfungen

Strg + f Bringen Sie ein Wort vor
Strg + b Bewegen Sie ein Wort rückwärts
Alt + c Kapitalisieren Sie den aktuellen Charakter am Cursor und bewegen Sie sich bis zum Ende des Wortes
Alt + u Machen Sie alle Zeichen in Großbuchstaben von der aktuellen Cursorposition bis zum Ende des Wortes
Alt + l Machen Sie alle Zeichen in Kleinbuchstaben von der aktuellen Cursorposition bis zum Ende des Wortes
Alt + d Löschen Sie alle Zeichen von der aktuellen Cursorposition bis zum Ende des Wortes
Alt + f Bewegen Sie das Wort nach Wort vorwärts
Alt + t Tauschen Sie das aktuelle Wort mit früheren Wörtern aus
Strg + t Tauschen Sie den aktuellen Charakter mit vorheriger
Strg + k Löschen Sie alle von der aktuellen Cursorposition bis zum Ende der Befehlszeile
Strg + y Fügen Sie Text oder Zeichen ein, die zuvor mit Löschverknüpfungen gelöscht wurden

Abschluss

Ziel dieses Artikels war es, einige grundlegende Bash -Verknüpfungen einzuführen, die in einer Linux -Befehlszeile verwendet werden. Weitere Lesen Zugangshandbuch mit Bash und Historie:

$ MAN BASH
$ MAN GESCHICHTE
Dieser Kernel benötigt die folgenden Merkmale, die nicht vorhanden sind PAE
Heute habe ich versucht, RHEL6 i386 als virtuelle Maschine mit VirtualBox zu installieren. Gleich nach dem Start erhielt ich eine Fehlermeldung mit de...
Perl - CGI - Formular Senden Beispiel
Das folgende Beispiel für Perl/CGI. Notiz......
ISP Caching, um die Bandbreite zu reduzieren - WGet und Meta -Problemumgehung
Es ist eine übliche Praxis von ISPs, um eine mögliche Datei vom Herunterladen zu speichern. Als Gesamtergebnis speichert dies die viel Bandbreite von ...