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

So kopieren Sie eine Datei mit einem Befehl in mehrere Verzeichnisse unter Linux

Das Kopieren einer Datei in einem Linux-Betriebssystem ist einfach, egal ob über die Befehlszeile oder auf grafische Weise. Einige Benutzer bevorzugen jedoch die Befehlszeile, um fast alle Aufgaben auszuführen. Die Befehlszeile bietet nicht nur die einfache, sondern auch schnellere Möglichkeit, eine Aufgabe auszuführen. Cp ist der Befehl in Linux, der verwendet wird, um eine Datei von einem Speicherort an einen anderen zu kopieren. Was aber, wenn wir eine Datei an mehrere Speicherorte kopieren müssen? Es gibt eine Möglichkeit, wie ich das unter Linux erreichen kann.

Wir haben die in diesem Artikel erwähnten Befehle und Verfahren auf einem Debian 10-Betriebssystem ausgeführt, aber sie funktionieren auch auf jeder anderen Linux-Distribution.

Lassen Sie uns zuerst sehen, wie wir den cp-Befehl verwenden können, um die Dateien von einem Ort an einen anderen zu kopieren. Die allgemeine Syntax zum Kopieren der Dateien mit dem cp-Befehl lautet:

$ cp ~[/location/sourcefile] ~[/destinationfolder]

Ein Beispiel hierfür wäre das Kopieren der Testdatei1 aus dem Verzeichnis „Dokumente“ in das Verzeichnis „Downloads“. Dazu habe ich den folgenden Befehl im Terminal ausgeführt:

$ cp ~/Documents/testfile1 ~/Downloads/

Wenn wir die Datei jetzt an mehrere Speicherorte kopieren müssen, müssen wir die Befehle mehrmals ausführen. Im folgenden Beispiel kopieren wir beispielsweise die Testdatei1 aus Documents an zwei verschiedene Speicherorte, d. h. Downloads und Desktop. Dazu müssen wir die cp-Befehle zweimal im Terminal ausführen:

$ cp ~/Documents/testfile1 ~/Downloads/

$ cp ~/Documents/testfile1 ~/Desktop/

Kopieren einer Datei an mehrere Speicherorte mit dem echo-Befehl

Das Kopieren einer Datei an zwei Speicherorte mit dem Befehl cp ist immer noch akzeptabel, aber nehmen wir an, wir müssen die Datei an vier, fünf oder mehr Speicherorte kopieren. In diesem Fall haben wir eine andere Lösung, die den echo-Befehl verwendet. Die Syntax des Befehls wäre:

$ echo [destination1] [destination2] [destiantion3]..... | xargs -n 1 cp [/location/sourcefile]

Der echo-Befehl wird normalerweise in Shell-Skripten verwendet, um eine Nachricht zu drucken oder auf dem Bildschirm auszugeben. Aber hier in diesem Beispiel werden wir es verwenden, um die Ausgabe an den xargs-Befehl über die | Symbol. Die xargs erhalten dreimal Eingaben vom echo-Befehl und führen die cp-Operationen dreimal aus, wobei die Testdatei an drei verschiedene Speicherorte kopiert wird. Das n-Flag im obigen Befehl weist den cp-Befehl an, jeweils ein Argument zu akzeptieren.

Beachten Sie, dass dieser Befehl eine bereits vorhandene Datei mit demselben Namen im Zielverzeichnis überschreibt. Daher ist es besser, bereits eine Sicherungskopie der wichtigen Datei zu erstellen.

Im folgenden Beispiel verwenden wir diesen Befehl, um die Testdatei1 aus dem Verzeichnis „Dokumente“ in drei verschiedene Verzeichnisse zu kopieren:„Desktop“, „Downloads“ und das Musikverzeichnis. Dafür haben wir den folgenden Befehl ausgeführt:

$ $ echo [~/Desktop] [~/Downloads] [~/Music] | xargs -n 1 cp [/location/sourcefile]

Das ist alles, was dazu gehört! Jetzt haben wir gelernt, wie man eine Datei mit einem Befehl in mehrere Verzeichnisse kopiert. Sie müssen also jetzt nicht mehrere Befehle schreiben, um die einfachste Aufgabe auszuführen, eine Datei an mehrere Speicherorte zu kopieren.


Debian
  1. Finden Sie Dateien und Verzeichnisse unter Linux mit dem Befehl find

  2. Kopieren Sie Dateien und Verzeichnisse unter Linux

  3. So aktualisieren Sie Kali Linux mit einem einzigen Befehl

  4. So kopieren Sie eine Datei mit dem gnu cp-Befehl in mehrere Verzeichnisse

  5. Wie ersetze ich eine Datei im JAR durch die Befehlszeile in Linux?

So verwenden Sie einen Dateibefehl unter Linux

So öffnen Sie eine Datei unter Linux

So verbinden Sie mehrere Zeilen in einer Datei in Linux zu einer

So führen Sie mehrere Linux-Befehle in einem einzigen Befehl aus

So kopieren Sie Dateien und Verzeichnisse im Linux-Terminal

So löschen Sie Gruppen mit dem Befehl groupdel in Linux