Kopieren einer datei in mehrere verzeichnisse unter linux mit einem einzigen befehl

Linux

Das Kopieren einer Datei ist in jedem modernen Betriebssystem, einschließlich Linux, eine sehr einfache Aufgabe. Genau wie bei Windows und Mac können Sie eine Datei einfach über die grafische Benutzeroberfläche kopieren, indem Sie mit der rechten Maustaste auf die Datei klicken und die Kopieroption auswählen.

Was aber, wenn Sie eine Datei mit einem einzigen Befehl in mehrere Verzeichnisse kopieren möchten? Das geht nur über die Kommandozeile.

Normalerweise würden wir in Linux den Befehl cp verwenden, um eine Datei zu kopieren. Aber dieser Befehl kann nur verwendet werden, um eine Datei in ein bestimmtes Verzeichnis zu kopieren. Wenn Sie eine Datei in mehrere Verzeichnisse kopieren wollen, müssen Sie nach einer anderen Alternative suchen.

Glücklicherweise gibt es in Linux so viele Befehle. Wenn wir uns näher mit einem Befehl befassen, können wir viele Dinge damit tun. In diesem Fall werden wir über „echo“ sprechen.

Dieser Befehl wird hauptsächlich verwendet, um auf den Bildschirm zu schreiben. Aber wir können diesen Befehl auch verwenden, um eine Datei mit zusätzlichen Optionen zu kopieren. Bevor wir den Befehl ausführen, ist es besser zu verstehen, wie der Befehl funktioniert.

Nachfolgend finden Sie die Syntax des Befehls, den wir verwenden werden.

echo dir_1 dir_2 dir_3 | xargs -n 1 cp file1

In diesem Fall wollen wir die Ausgabe des echo-Befehls als Eingabe für den xargs-Befehl verwenden. Dazu verwenden wir das Pipe-Symbol ( | ), das die Ausgabe eines Befehls als Eingabe in einen anderen Befehl weiterleitet. Der xargs-Befehl führt den cp-Befehl dreimal aus, wobei jedes Mal der nächste Verzeichnispfad, der ihm vom echo-Befehl übergeben wurde, an das Ende des cp-Befehls angehängt wird. Es werden drei Argumente an xargs übergeben, aber die Option -n 1 des xargs-Befehls bewirkt, dass bei jeder Ausführung jeweils nur eines dieser Argumente an den cp-Befehl angehängt wird.

Verstanden?

Nachfolgend ist ein Beispiel für den Befehl.

echo dir_1 dir_2 dir_3 | xargs -n 1 cp copythisfile.txt

YouTube video: Kopieren einer Datei in mehrere Verzeichnisse unter Linux mit einem einzigen Befehl


Rate article