Beherrschen des Befehlszeilenverlaufs unter Linux

Wenn Sie viel Zeit mit Linux verbringen, ist es sinnvoll zu lernen, wie Sie die Verwendung der Befehlszeilenoptionen optimieren können – insbesondere die Zeit, die Sie mit der Eingabe von Befehlen verbringen. Die meisten Linux-Benutzer sind mit dem grundlegenden Linux-Befehlszeilenverlauf vertraut. Der einfachste Weg, das Eintippen eines Befehls zu vermeiden, besteht darin, die Aufwärtspfeiltaste zu drücken, bis Sie Ihren Befehl gefunden haben, oder die einfache !! für den zuletzt ausgeführten Befehl. Heute zeigen wir Ihnen einige relativ unbekannte und dennoch effektive Möglichkeiten, wie Sie den Linux-Verlauf nutzen können, um Ihre Arbeitsweise zu beschleunigen.

Erweitern Sie die Bescheidenheit !! für Sie arbeiten

Angenommen, Sie haben einen Befehl ausgeführt, der Root-Rechte erforderte, aber Sie haben vergessen, ein Sudo auszuführen. Anstatt es erneut einzugeben oder nach oben und dann nach links zu navigieren, können Sie Folgendes tun

$ touch build_04052014.tgz touch: 'build_04052014.tgz' kann nicht berührt werden: Berechtigung verweigert $ sudo !!  sudo touch new_binary
[sudo] Passwort für Richa:

Wenn Sie den vorherigen Befehl in einem neuen Skript speichern möchten, können Sie dies wie folgt tun, ohne ihn eingeben zu müssen

$ touch build_04052014.tgz $ echo !!  > script1.sh $ cat script1.sh touch build_04052014.tgz

Befehl aus dem Verlauf suchen und ausführen

Der Zugriff auf den letzten Ausführungsbefehl ist nur begrenzt nutzbar. Manchmal möchten Sie den Verlauf durchsuchen, um einen unbekannten oder sehr großen Befehl zu finden, den Sie eingegeben haben. Eine einfache ! Mit der Suche können Sie darauf zugreifen. Sie hatten beispielsweise einen großen Befehl, den Sie morgens ausgeführt haben, und erinnern sich nicht mehr ganz an die von Ihnen angegebenen Optionen, möchten ihn aber trotzdem noch einmal ausführen. Wenn dies ein Screenshot Ihres damaligen Verlaufs wäre:

Wie führen Sie diesen Befehl erneut aus? Mach einfach:

$ !make make brutus.mk && tar brutus/* brutus.tgz && cp brutus.tgz ../output Building....

So übernehmen Sie ein Argument aus dem vorherigen Befehl

Manchmal möchten Sie vielleicht einen früheren Befehl nicht ausführen, sondern einfach das Argument übernehmen. Sie können den Operator „!$“ wie unten gezeigt verwenden.

Wenn Ihr früherer Befehl mehrere Argumente enthielt und Sie nur auf das erste zugreifen möchten, können Sie „!^“ verwenden.

$ ls *.png *.txt *.tgz build_04052014.tgz OOO2.png out2.png unix.txt OOO1.png out1.png out3.png windows.txt $ ls -a !^ ls -a *.png OOO1.png OOO2.png out1.png out2.png out3.png

Um auf das Argument Nummer x zuzugreifen, verwenden Sie einfach „![prev_command]:[argument_number]". Das folgende Beispiel zeigt es deutlicher.

$ ls *.png *.txt *.tgz build_04052014.tgz OOO2.png out2.png unix.txt OOO1.png out1.png out3.png windows.txt $ ls -a !ls:3 ls -a *.tgz build_04052014 .tgz

Was ist, wenn Sie einen Befehl haben, der überhaupt nicht im Verlauf angezeigt werden soll – wenn Sie nur Duplikate entfernen und einen übersichtlicheren Verlauf haben möchten? Sie können die Umgebungsvariable HISTCONTROL festlegen, um dies zu handhaben. Hier erfahren Sie, wie es geht.

$ export HISTCONTROL = erasedups

Verhindern Sie, dass ein Befehl im Verlauf angezeigt wird

Manchmal möchten Sie möglicherweise verhindern, dass einfache Befehle wie „ls“ oder „pwd“ im Verlauf angezeigt werden. In solchen Fällen können Sie verhindern, dass sie im Verlauf angezeigt werden, indem Sie den Befehl HISTCONTROL erneut verwenden, wie wir es im obigen Beispiel getan haben. Allerdings ist es normalerweise keine gute Idee, einen Befehl vor der Anzeige im Verlauf zu verbergen.

Um einen Befehl auszublenden, müssen Sie zunächst HISTCONTROL so einstellen, dass Leerzeichen ignoriert werden, dh alle Befehle, die mit einem Leerzeichen beginnen, werden ignoriert. Achten Sie dann beim Eingeben des Befehls darauf, vor der Eingabe ein zusätzliches Leerzeichen einzufügen. Dadurch wird verhindert, dass sich der Verlauf an den Befehl erinnert.

$ export HISTCONTROL =ignorespace

Nur für den Fall, dass Sie aus irgendeinem seltsamen Grund Ihren Linux-Verlauf vollständig deaktivieren möchten. Dazu können Sie den folgenden Befehl verwenden:

Wenn Sie jetzt nach Ihrem Verlauf suchen, ist dieser leer. Beachten Sie, dass der Befehl HISTSIZE auch zum Ändern der Größe Ihres Verlaufs verwendet werden kann. Wenn Sie mehr Befehle im Verlauf speichern möchten, öffnen Sie die Datei .bash_profile in Ihrem Home-Verzeichnis und ändern Sie die HISTSIZE (vergrößern oder verkleinern).

Bash-Befehlszeilen-Linux-Shell-Terminal , Einführung in das Command Line-Cover

Index
  1. Erweitern Sie die Bescheidenheit !! für Sie arbeiten
  2. Befehl aus dem Verlauf suchen und ausführen
  3. So übernehmen Sie ein Argument aus dem vorherigen Befehl
  4. Was ist, wenn Sie einen Befehl haben, der überhaupt nicht im Verlauf angezeigt werden soll – wenn Sie nur Duplikate entfernen und einen übersichtlicheren Verlauf haben möchten? Sie können die Umgebungsvariable HISTCONTROL festlegen, um dies zu handhaben. Hier erfahren Sie, wie es geht. $ export HISTCONTROL = erasedups Verhindern Sie, dass ein Befehl im Verlauf angezeigt wird

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Go up