10 Nützliche Verkettungsoperatoren unter Linux mit praktischen Beispielen

10 Nützliche Verkettungsoperatoren unter Linux mit praktischen Beispielen

Die Kettung von Linux -Befehlen bedeutet, mehrere Befehle zu kombinieren und sie basierend auf dem Verhalten des dazwischen verwendeten Operators auszuführen. Das Erketten von Befehlen in Linux ist so etwas, wie Sie kurze Shell -Skripte an der Shell selbst schreiben und sie direkt aus dem Terminal ausführen. Durch die Verketten können Sie den Prozess automatisieren. Darüber hinaus kann eine unbeaufsichtigte Maschine mit Hilfe von Kettenbetreibern auf viel systematische Weise funktionieren.

10 Verkettungsoperatoren unter Linux

Lesen Sie auch: So verwenden Sie awk und reguläre Ausdrücke, um Text in Dateien zu filtern

Dieser Artikel zielt darauf ab, Licht auf häufig verwendete zu werfen Befehl-Operatoren Chaining, Mit kurzen Beschreibungen und entsprechenden Beispielen, die sicherlich Ihre Produktivität erhöhen und können Sie manchmal kurze und aussagekräftige Codes neben der Verringerung der Systemlast schreiben.

1. Ampersand Operator (&)

Die Funktion von '&'ist, den Befehl im Hintergrund auszuführen. Geben Sie einfach den Befehl ein, der mit einem weißen Raum gefolgt ist und '&''. Sie können mehr als einen Befehl im Hintergrund ausführen, in einem einzigen GO.

Führen Sie einen Befehl im Hintergrund aus:

[E -Mail geschützt]: ~ $ ping -c5 www.Tecmint.com &

Führen Sie gleichzeitig zwei Befehle im Hintergrund aus:

[E-Mail geschützt]:/home/tecmint# APT-Get Update & APT-Get Upgrade &

2. Halbkolonoperator (;)

Der Halbkolonoperator ermöglicht es auszuführen.

[E-Mail geschützt]:/home/tecmint# APT-Get-Update; APT-Get-Upgrade; Mkdir -Test

Die obige Befehlskombination wird zuerst ausgeführt aktualisieren Anweisung dann Aktualisierung Anweisungen und schließlich eine 'erstellen'prüfen'Verzeichnis im aktuellen Arbeitsverzeichnis.

3. Und Operator (&&)

Der Und Betreiber (&&) würde nur den zweiten Befehl ausführen, wenn die Ausführung des ersten Befehls GELINGT ES, ich.e., Der Exit -Status des ersten Befehls ist 0. Dieser Befehl ist sehr nützlich bei der Überprüfung des Ausführungsstatus des letzten Befehls.

Zum Beispiel möchte ich die Website besuchen Tecmint.com Verwenden von Links -Befehl, im Terminal, aber vorher muss ich überprüfen, ob der Host ist live oder nicht.

[E -Mail geschützt]:/home/tecmint# ping -c3 www.Tecmint.com && links www.Tecmint.com

4. Oder Operator (||)

Der Oder Operator (||) ist ähnlich wie ein 'anders'Aussage in der Programmierung. Mit dem obigen Bediener können Sie nur dann den zweiten Befehl ausführen, wenn die Ausführung des ersten Befehls fehlschlägt.e., Der Exit -Status des ersten Befehls lautet '1''.

Zum Beispiel möchte ich ausführen 'APT-Get-Update'Aus dem Nicht-Root-Konto und wenn der erste Befehl fehlschlägt, dann der zweite 'Links www.Tecmint.com'Befehl wird ausgeführt.

[E-Mail geschützt]: ~ $ apt-Get-Update || Links Tecmint.com

Im obigen Befehl seit dem Benutzer durfte nicht aktualisieren System bedeutet, dass der Exit -Status des ersten Befehls lautet '1' und daher der letzte Befehl 'Links Tecmint.com'wird ausgeführt.

Was ist, wenn der erste Befehl erfolgreich ausgeführt wird, mit einem Exit -Status?0''? Offensichtlich! Der zweite Befehl wird nicht ausgeführt.

[E -Mail geschützt]: ~ $ mkdir Test || Links Tecmint.com

Hier erstellt der Benutzer einen Ordner 'prüfen'In seinem Heimverzeichnis, für den der Benutzer erlaubt ist. Der erfolgreich ausgeführte Befehl gibt einen Exit -Status an. '0'Und daher wird der letzte Teil des Befehls nicht ausgeführt.

5. Nicht Bediener (!)

Der Nicht Bediener (!) ist ähnlich wie ein 'außer' Stellungnahme. Dieser Befehl führt alle außer der angegebenen Bedingung aus. Um dies zu verstehen, erstellen Sie ein Verzeichnis. 'Tecmint"In Ihrem Heimverzeichnis und"CD'dazu.

[E -Mail geschützt]: ~ $ mkdir tecmint [E -Mail geschützt]: ~ $ cd tecmint

Erstellen Sie anschließend verschiedene Arten von Dateien im Ordner 'Tecmint''.

[E -Mail geschützt]: ~/tecmint $ touch a.doc b.doc a.PDF b.pdf a.xml b.xml a.html b.html

Sehen Sie, dass wir alle neuen Dateien im Ordner erstellt habenTecmint''.

[E -Mail geschützt]: ~/tecmint $ ls a.doc a.html a.pdf a.xml b.doc b.html b.PDF b.xml

Löschen Sie nun alle Dateien außer 'html'alle auf einmal auf einmal einreichen.

[E -Mail geschützt]: ~/tecmint $ rm -r !(*.HTML)

Nur um dies zu überprüfen, letzte Ausführung. Listen Sie alle verfügbaren Dateien mit dem LS -Befehl auf.

[E -Mail geschützt]: ~/tecmint $ ls a.html b.html

6. Und - oder Operator (&& - ||)

Der obige Operator ist eigentlich eine Kombination von 'UND' Und 'ODER' Operator. Es ist ähnlich wie ein 'ansonsten' Stellungnahme.

Lassen Sie uns zum Beispiel Ping machen Tecmint.com, Wenn der Erfolg wiederholt 'Verifiziert"sonst echo"Host runter''.

[E -Mail geschützt]: ~/tecmint $ ping -c3 www.Tecmint.com && echo "verifiziert" || Echo "Host Down"
Probenausgabe
Ping www.Tecmint.com (212.71.234.61) 56 (84) Datenbytes von Daten. 64 Bytes von www.Tecmint.com (212.71.234.61): ICMP_REQ = 1 TTL = 55 Zeit = 216 ms 64 Bytes aus www.Tecmint.com (212.71.234.61): ICMP_REQ = 2 TTL = 55 Zeit = 224 ms 64 Bytes aus www.Tecmint.com (212.71.234.61): icmp_req = 3 ttl = 55 time = 226 ms --- www.Tecmint.COMPING-Statistiken --- 3 Pakete übertragen, 3 empfangen, 0% Paketverlust, Zeit 2001ms RTT min/avg/max/mdev = 216.960/222.789/226.423/4.199 ms Verifiziert

Trennen Sie jetzt Ihre Internetverbindung und versuchen Sie es erneut mit demselben Befehl.

[E -Mail geschützt]: ~/tecmint $ ping -c3 www.Tecmint.com && echo "verifiziert" || Echo "Host Down"
Probenausgabe
Ping: Unbekannter Gastgeber www.Tecmint.com Host runter

7. Rohroperator (|)

Das ROHR Der Bediener ist sehr nützlich, wenn die Ausgabe des ersten Befehls als Eingabe für den zweiten Befehl wirkt. Zum Beispiel Pipeline die Ausgabe von 'ls -l' Zu 'weniger'und sehen Sie die Ausgabe des Befehls.

[E -Mail geschützt]: ~ $ ls -l | weniger

8. Befehlskombinationsoperator

Kombinieren Sie zwei oder mehr Befehle, der zweite Befehl hängt von der Ausführung des ersten Befehls ab.

Überprüfen Sie beispielsweise, ob ein Verzeichnis 'Behälterist verfügbar oder nicht und Ausgabe entsprechende Ausgabe.

[E -Mail geschützt]: ~ $ [-d bin] || Echo -Verzeichnis existiert nicht und erstellen Sie jetzt ein Verzeichnis.; Mkdir Bin;  && Echo -Verzeichnis existiert. 

9. Vorrangbetreiber ()

Der Bediener ermöglicht es, den Befehl in Vorrangreihenfolge auszuführen.

Command_x1 && command_x2 || Command_x3 && command_x4.

Was ist im obigen Pseudo -Befehl, wenn das, wenn die Command_x1 scheitert? Keines der von beiden Command_x2, Command_x3, Command_x4 würde ausgeführt, dafür verwenden wir Vorrangbetreiber, als:

(Command_x1 && command_x2) || (Command_x3 && command_x4)

Im obigen Pseudo -Befehl, wenn Command_x1 scheitert, Command_x2 scheitert auch aber immer noch Command_x3 Und Command_x4 Ausführungen hängen vom Exit -Status von ab Command_x3.

10. Verkettungsoperator (\)

Der Verkettung Operator (\) Wie der Name angibt, wird verwendet, um große Befehle über mehrere Zeilen in der Shell zu verkettet. Zum Beispiel wird der folgende Befehl eine Textdatei geöffnet Test (1).txt.

[E -Mail geschützt]: ~/downloads $ nano test \ (1 \).txt

Das ist alles fürs Erste. Ich mache mir sehr bald einen weiteren interessanten Artikel. Bis dahin bleiben Sie dran, gesund und verbunden mit Tecmint. Vergessen Sie nicht, Ihr wertvolles Feedback in unserem Kommentarbereich zu geben.