Wenn Sie viel Zeit mit Linux verbringen, ist es sinnvoll zu lernen, wie Sie die Befehlszeilenoptionen optimieren können - insbesondere die Zeit, die Sie mit der Eingabe von Befehlen verbringen. Die meisten Linux-Benutzer sind mit der grundlegenden Linux-Befehlszeilenhistorie vertraut. Der einfachste Weg, um das Tippen eines Befehls zu vermeiden, besteht darin, die Pfeil-nach-oben-Taste zu drücken, bis Sie Ihren Befehl finden, oder das einfache zu verwenden !! für den zuletzt ausgeführten Befehl. Heute zeigen wir Ihnen ein paar relativ unbekannte und dennoch effektive Möglichkeiten, wie Sie Linux-Geschichte verwenden können, um Ihre Arbeitsweise zu beschleunigen.

Erweitere die Demütigen !! für dich arbeiten

Angenommen, Sie haben einen Befehl ausgeführt, der Root-Berechtigungen erfordert, aber Sie haben vergessen, ein sudo . Anstatt es wieder einzugeben oder nach oben und dann nach links zu navigieren, können Sie Folgendes tun

 $ touch build_04052014.tgz touch: kann 'build_04052014.tgz' nicht berühren: 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 es eingeben zu müssen

 $ touch build_04052014.tgz $ echo !! > script1.sh $ cat script1.sh Tippen Sie auf build_04052014.tgz 

Such- und Ausführungsbefehl aus dem Verlauf

Der Zugriff auf den letzten Ausführungsbefehl ist eingeschränkt. Manchmal möchten Sie den Verlauf durchsuchen, um einen obskuren oder wirklich großen Befehl zu finden, den Sie eingegeben haben. Mit einer einfachen ![keyword] -Suche können Sie darauf zugreifen. Zum Beispiel hatten Sie einen großen Befehl, den Sie am Morgen ausführen würden, und Sie erinnern sich nicht ganz an die Optionen, die Sie gaben, aber Sie möchten es immer noch ausführen. Wenn das ein Screenshot Ihrer Geschichte von dieser Zeit ist:

Also, wie führst du diesen Befehl erneut aus? Mach einfach:

 Mach make brutus.mk & & tarber brutus / * brutus.tgz & & cp brutus.tgz .. / output Building .... 

Wie übertrage ich ein Argument vom vorherigen Befehl?

Manchmal möchten Sie vielleicht keinen früheren Befehl ausführen, sondern das Argument einfach weitertragen. Sie können den " !$ " Operator wie unten gezeigt verwenden.

Wenn Ihr früherer Befehl mehrere Argumente hatte und Sie nur auf den ersten 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, den Sie überhaupt nicht in der Historie anzeigen möchten - wenn Sie nur Duplikate entfernen und eine sauberere Historie haben wollen. Sie können die HISTCONTROL-Umgebungsvariable festlegen, um das zu behandeln. Hier ist, wie es geht.

 $ export HISTCONTROL = löscht die Daten 

Verhindern, dass ein Befehl im Verlauf angezeigt wird

Manchmal möchten Sie vielleicht verhindern, dass einfache Befehle im Verlauf erscheinen, wie " ls " oder " pwd ". In solchen Fällen können Sie verhindern, dass sie im Verlauf angezeigt werden, indem Sie den Befehl HISTCONTROL wie im obigen Beispiel erneut verwenden. Es ist jedoch normalerweise keine gute Idee, einen Befehl im Verlauf nicht anzuzeigen.

Um einen Befehl auszublenden, müssen Sie HISCONTROL zuerst so einstellen, dass Leerzeichen ignoriert werden, dh alle Befehle ignorieren, die mit Leerzeichen beginnen. Stellen Sie beim Eingeben des Befehls sicher, dass Sie vor der Eingabe ein zusätzliches Leerzeichen hinzufügen. Dies verhindert, dass der Verlauf sich an den Befehl erinnert.

 $ export HISTCONTROL = ignorespace 

Nur für den Fall, dass Sie aus irgendeinem Grund Ihren Linux-Verlauf vollständig deaktivieren sollten. Um dies zu tun, können Sie den folgenden Befehl verwenden:

 $ export HISTSIZE = 0 

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

Bildnachweis: Bash-Kommandozeilen-Linux-Shell-Terminal, Einführung in die Befehlszeilenabdeckung