GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Der beliebteste Linux-Befehlszeilen-Hack eines Systemadministrators

Wie viele Leute, die mit Linux-Rechnern arbeiten, bevorzuge ich die Verwendung der Befehlszeilenschnittstelle, wenn dies möglich und sinnvoll ist. In einigen Fällen ist es einfacher, einige Konfigurationen mit den Fingern zu finden, zu überprüfen und zu ändern, da sie nur die Befehle „kennen“, die Sie eingeben müssen, und es schneller ist, als eine GUI zu öffnen und nach der erforderlichen Menüfolge zu suchen klicken.

Sicher, es gibt Fälle, in denen die Verwendung der GUI schneller ist und Sie diese Aufgabe nur ein- oder zweimal erledigen, also wen interessiert das, oder? Aber wenn es etwas ist, das Sie mehrmals tun müssen, vielleicht mit einigen Variationen, denkt Ihr Sysadmin-Gehirn nach:"Kann ich das automatisieren?" In vielen Fällen lautet die Antwort ja, aber der Aufwand zur Automatisierung der Aufgabe lohnt sich in anderen Situationen nicht.

[Das könnte Ihnen auch gefallen: Linux-Terminal-Trick:Hacken Sie den cd-Befehl, um sich zu merken, wo Sie gewesen sind]

Wenn ich nur die zuletzt eingegebenen Befehle wiederverwenden könnte.

Geschichte

Die einfachste Möglichkeit, die zuletzt in die Linux-Konsole eingegebenen Befehle wiederherzustellen, ist die Verwendung von history . In diesem Beispiel arbeiten Sie mit dem HTTP-Server und halten den Dienst wiederholt an, indem Sie die httpd.conf bearbeiten Datei und starten Sie dann httpd neu um die Ergebnisse im Browser zu überprüfen.

Der folgende Befehl zeigt Ihnen die letzten 10 verwendeten Befehle:

❯ history | tail -10
10057  systemctl stopt httpd.service
10058  systemctl stop httpd.service
10059  sudo systemctl stop httpd.service
10060  sudo systemctl start httpd.service
10061  systemctl status httpd.service
10062  history
10063  systemctl status httpd.service
10064  ps -ef|grep httpd
10065  man httpd.conf
10066  view /etc/httpd/conf/httpd.conf

Von dort aus können Sie entweder die Zeile kopieren und einfügen (wenn Sie den Befehl bearbeiten oder in einem anderen Terminal verwenden müssen) oder das Ausrufezeichen gefolgt von der Befehlsfolge im Verlauf eingeben:

> !10061

Diese Zeile erinnert an den Befehl systemctl status httpd.service aus dem Verlauf, und dann drücken Sie einfach die ENTER-Taste drücken (oder den Befehl bearbeiten, bevor er erneut ausgeführt wird).

Das ist nicht schlimm, aber Sie müssen immer noch die Sequenz eingeben oder mit der Maus kopieren und einfügen. Nicht riesig handeln, aber Sie möchten sich auf Ihre Hauptaufgabe konzentrieren.

Einige gute Alternativen

Mit UP können Sie die vorherigen Befehle aus dem Verlauf abrufen Pfeiltaste. Navigieren Sie mit UP durch die Liste und UNTEN Tasten.

Dieser Ansatz ist in Ordnung, aber was ist, wenn Sie etwas wiederherstellen möchten, von dem Sie wissen, dass Sie es vor 15 Minuten verwendet haben? Das wird sicher in der Verlaufsliste stehen, aber Sie müssen möglicherweise etwas schürfen.

Beispielsweise könnten Sie history verwenden , senden Sie die Ausgabe an grep , und listen Sie nur die Befehle auf, die Ihren Anforderungen entsprechen. In diesem Beispiel zeige ich alle Befehle im history an die das http beinhalten Zeichenkette:

> history | grep http
10544* systemctl status httpd.service
10545* systemctl stopt httpd.service
10546* systemctl stop httpd.service
10547* sudo systemctl stop httpd.service
10548* sudo systemctl start httpd.service
10549* systemctl status httpd.service
10551* systemctl status httpd.service
10552* ps -ef|grep httpd
10553* man httpd.conf
10554* view /etc/httpd/conf/httpd.conf
10561* systemctl status httpd.service

Von hier aus können Sie das Ausrufezeichen und die Sequenznummer erneut verwenden. Beispiel:!10546

Aber Sie denken vielleicht:„Das ist in Ordnung, aber meine Gehirn-zu-Finger-Verbindung ist so schnell, dass ich nicht abgelenkt werden möchte. Ich weiß es genau der Befehl, nach dem ich suche."

Gut, auch dafür gibt es eine Lösung.

Wenn Ihr Gehirn und Ihre Finger wissen, wonach sie suchen

Wenn Sie mit diesem Beispiel fortfahren, möchten Sie Befehle abrufen, die sich auf httpd beziehen schnell.

Die Option für Sie ist die Verwendung von STRG+R , wodurch Sie zur Eingabe einer Teilzeichenfolge aufgefordert werden. Verwenden Sie das, um das letzte abzurufen Befehl, den Sie eingegeben haben und der diese Zeichenfolge enthält.

Während Sie die Zeichenfolge aus Ihrem Befehl eingeben, wird der letzte Befehl angezeigt, der diese Zeichenfolge verwendet hat. Wenn Sie nach dem gewünschten Befehl suchen, drücken Sie ENTER , und es wird ausgeführt.

Wenn Sie an dieser Stelle STRG+R gedrückt halten , der vorletzte Befehl, der diese Suchzeichenfolge enthält, angezeigt, in diesem Beispiel view /etc/httpd/conf/httpd.conf Befehl.

Sie können rückwärts navigieren (STRG+R ) und weiter (STRG+S ).

[ Möchten Sie Ihre Fähigkeiten als Systemadministrator testen? Machen Sie noch heute einen Kompetenztest. ] 

Abschluss

Wenn Sie einen Teil des kürzlich ausgeführten Befehls kennen, können Sie die hier beschriebenen Tastenkombinationen verwenden, um ihn schnell abzurufen. Dies kann besonders nützlich sein, wenn Sie den Befehl vor langer Zeit verwendet haben und er sich immer noch im Verlauf der Shell befindet, aber Ihre Finger "erinnern" sich daran.

Offensichtlich gibt es effizientere Möglichkeiten, Ihre täglichen Aufgaben zu erledigen, als zu tippen:Erstellen von Aliasen für Befehle, die Sie häufig verwenden, Erstellen von Skripten, Automatisieren usw. Aber wenn Tippen erforderlich ist, ist es besser, es effizient zu tun.


Linux
  1. So löschen Sie den BASH-Befehlszeilenverlauf in Linux

  2. Verlaufsbefehl in Linux ausführlich erklärt

  3. Meine 5 Lieblings-Linux-Systemadministrator-Tools

  4. Linux-Verlaufsbefehl

  5. systemctl-Befehlsbeispiele in Linux

Diff-Befehl unter Linux

Verlaufsbefehl in Linux mit Beispielen

Meistern Sie die Linux-Befehlszeile

Grundlagen der Linux-Befehlszeile:sudo

Verlaufsbefehl in Linux – Zeigen Sie den Verlauf des Linux-Terminals an

systemd-analyze-Befehlsbeispiele unter Linux