Steigern Sie die Effizienz durch die gleichzeitige Ausführung mehrerer Befehle in Linux

Steigern Sie die Effizienz durch die gleichzeitige Ausführung mehrerer Befehle in Linux
Feature-Bild: Beschleunigen Sie den Prozess mehrerer Befehle

Möchten Sie Ihre Produktivität steigern? Erwägen Sie die gleichzeitige Ausführung mehrerer Befehle in Ihrem Linux-Terminal. Mit diesem Ansatz können Sie einfache Sequenzbefehle ausführen, Aufgaben im Hintergrund ausführen und bedingte Befehle gemeinsam verwalten.

In diesem Artikel befassen wir uns mit verschiedenen Techniken zur sequenziellen und gleichzeitigen Ausführung von Befehlen auf einem Linux-Terminal.

Die Vorteile der gleichzeitigen Ausführung mehrerer Befehle

Unabhängig davon, ob Sie routinemäßige Wartungsaufgaben ausführen, große Datensätze verarbeiten oder Teile Ihres Arbeitsablaufs automatisieren, können Sie durch die Kombination von Befehlen Ihre Abläufe optimieren und die Gesamteffizienz steigern.

Wenn Sie beispielsweise mehrere Verzeichnisse sichern, können Sie die Befehle verknüpfen, anstatt jedes Verzeichnis einzeln auszuführen. Dies spart Ihnen Zeit und Mühe.

Ich verkette häufig Befehle, wenn ich Linux-Pakete installiere, die mehrere Module erfordern. Dadurch stelle ich sicher, dass das Paket und seine Abhängigkeiten in einer einzigen Aktion installiert werden, wodurch wiederholtes Eintippen vermieden wird.

Sequentielle Befehlsausführung

Diese Methode verwende ich am liebsten, wenn ich das Terminal verwende. Wir können Befehle verknüpfen, sodass sie nacheinander ausgeführt werden, unabhängig davon, ob der vorherige Befehl erfolgreich ausgeführt wurde.

Um diese Befehle der Reihe nach auszuführen, verwenden Sie einfach ein Semikolon ;als Trennzeichen. Wenn Sie die Eingabetaste drücken, verarbeitet das Terminal den ersten Befehl, wartet, bis er abgeschlossen ist, und fährt dann mit dem nächsten fort.

Wenn Sie beispielsweise Ihr System aktualisieren und gleichzeitig ungenutzte Pakete löschen möchten, können Sie Folgendes ausführen:

Aktualisieren, Aufrüsten und Bereinigen des Ubuntu-Systems mit dem Apt-Paketmanager.

Durch die Verkettung dieser Befehle erzwingen Sie eine sequentielle Ausführung und stellen sicher, dass jede Aufgabe erst abgeschlossen wird, wenn die vorherige beendet ist. Dadurch bleibt die Effizienz erhalten.

Bedingungsbasierte Befehlsausführung

Wenn Sie den zweiten Befehl nur ausführen möchten, wenn der erste Befehl erfolgreich ist (oder fehlschlägt), können Sie die bedingte Ausführung durch die Verwendung der Operatoren &&(UND) und ||(ODER) nutzen.

Ausführen, wenn der erste Befehl erfolgreich ist

Um sicherzustellen, dass ein Befehl nur ausgeführt wird, wenn der vorherige erfolgreich war, verwenden Sie den &&Operator zwischen den Befehlen.

Wenn Sie beispielsweise ein neues Verzeichnis erstellen und nur dann dorthin wechseln möchten, wenn die Verzeichniserstellung erfolgreich war, verwenden Sie:

Gleichzeitiges Erstellen und Ändern von Verzeichnissen.

Wenn der erste Befehl fehlschlägt, wird der nachfolgende Befehl nicht ausgeführt.

Ausführen, wenn der erste Befehl fehlschlägt

||-Operator. Dies ist insbesondere für Fallback-Befehle oder zum Protokollieren von Fehlern nützlich, ohne Ihren Arbeitsablauf zu unterbrechen.

Ich finde diese Vorgehensweise oft bei Dateioperationen hilfreich, beispielsweise beim Kopieren einer Datei an einen Sicherungsort. Wenn der Kopiervorgang fehlschlägt, möchte ich informiert werden, ohne meine laufenden Aufgaben zu unterbrechen. Sie können es folgendermaßen strukturieren:

cp file_name /backup || echo "Failed!" >> error_log.txt

In diesem Fall cpversucht der Befehl, die angegebene Datei in das Sicherungsverzeichnis zu kopieren. Wenn dies fehlschlägt, ||führt der Operator den nächsten Befehl aus, der die Fehlermeldung an ein Fehlerprotokoll anhängt. Auf diese Weise wird Ihr Arbeitsablauf ohne Unterbrechung fortgesetzt und das Problem wird gleichzeitig für eine spätere Überprüfung dokumentiert.

Ausführen von Befehlen im Hintergrund

Manchmal möchten Sie vielleicht nicht pausieren, bis eine Aufgabe abgeschlossen ist. Wenn ein Vorgang viel Zeit in Anspruch nimmt, können Sie Ihren Arbeitsfluss aufrechterhalten, indem Sie &an das Ende Ihres Befehls ein Et-Zeichen anhängen.

Wenn Sie beispielsweise eine große Datei von einer bestimmten URL herunterladen und gleichzeitig an anderen Aufgaben arbeiten möchten, können Sie Folgendes verwenden:

sudo wget https://example.com/large-file.zip &

Dies ermöglicht Ihnen, am Terminal weiterzuarbeiten, während der Download im Hintergrund ausgeführt wird.

Verketten von Befehlen mit Hintergrundausführung

Was ist, wenn Sie zwei Befehle verbinden und gleichzeitig sicherstellen möchten, dass der zweite Befehl im Hintergrund ausgeführt wird, nachdem der erste abgeschlossen ist? In diesem Fall können Sie sowohl den Pipe- |Operator als auch das Et-Zeichen verwenden &.

Die Pipe |leitet die Ausgabe des ersten Befehls als Eingabe für den zweiten weiter, während das Et-Zeichen &die Ausführung des zweiten Befehls im Hintergrund ermöglicht.

Um beispielsweise eine große Datei zu lesen, Schlüsselwörter zu extrahieren und die Ergebnisse in einer neuen Datei zu speichern, können Sie den Umleitungsoperator verwenden >:

cat samplefile.txt | grep "Project" > output.txt &
Durchsuchen großer Dateien und separates Speichern der angegebenen Ergebnisse.

Bei dieser Konfiguration werden sowohl die Such- als auch die Speichervorgänge im Hintergrund ausgeführt. Auf diese Weise können Sie andere Befehle ohne Unterbrechung ausführen, während die Datei verarbeitet wird.

Gleichzeitiges Ausführen mehrerer Befehle mit Xargs

Wenn Sie Ihre Multitasking-Fähigkeiten verbessern möchten, sollten Sie die parallele xargsAusführung von Befehlen mithilfe des Befehls in Betracht ziehen. Dies ermöglicht die gleichzeitige Ausführung mehrerer Befehle, anstatt sie nacheinander abzuarbeiten.

Der xargsBefehl teilt eine Liste von Argumenten effizient in kleinere Stapel auf und führt für jeden Stapel gleichzeitig einen bestimmten Befehl aus.

Wenn Sie beispielsweise eine Liste von URLs in einer Datei gespeichert haben und diese alle auf einmal herunterladen möchten, können Sie Folgendes ausführen, anstatt dies einzeln zu tun:

cat urls_file.txt | xargs -n 1 -P 4 wget

In diesem Fall -n 1weist es an , xargsein Argument pro Befehl zu verarbeiten und -P 4vier Befehle gleichzeitig auszuführen. Dies beschleunigt den Downloadvorgang im Vergleich zu einem sequentiellen Ansatz erheblich.

Abschluss

Zusammenfassend können Sie Befehle mit Semikolons kombinieren ;, bedingte Ausführung mit &&und implementieren ||, Hintergrundprozesse mit ausführen &und Ihre Multitasking-Fähigkeiten durch parallele Ausführung mit verbessern xargs.

Bildnachweis: Unsplash . Alle Änderungen und Screenshots von Haroon Javed.

Quelle

Schreibe einen Kommentar

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