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

Kopieren Sie Dateien und Verzeichnisse unter Linux

Unter Linux kopieren wir Dateien wie in jedem anderen heute verfügbaren Betriebssystem. Wir öffnen einen Dateimanager, wählen eine zu kopierende Datei aus und fügen sie an einer beliebigen Stelle ein. Aber was ist, wenn Sie Dateien oder Verzeichnisse in Linux über die Befehlszeile kopieren möchten oder müssen oder vor dem Kopieren einige zusätzliche Filter anwenden? Nun, das ist ganz einfach.

Dateien oder Verzeichnisse lokal kopieren

Wenn Sie Dateien oder Verzeichnisse lokal von einem Verzeichnis in ein anderes kopieren müssen, gibt es dafür einen einfachen Befehl – ​​cp.

cp – Dateien und Verzeichnisse kopieren

Grundlegende Syntax

cp source destination_path

Die grundlegende Syntax des Befehls akzeptiert zwei Argumente, das erste ist der Dateipfad oder das Verzeichnis und das zweite der Zielpfad, in den die Datei oder das Verzeichnis kopiert werden soll. In jedem Linux-System funktioniert dieser Befehl einwandfrei, aber es kann Fälle geben, in denen Sie sich einiger wichtiger Optionen bewusst sein sollten, die der cp-Befehl bietet.

–Sicherung[Option]

Wir müssen oft so viele Dateien auf einmal an einen Ort kopieren, an dem einige dieser Dateien möglicherweise bereits vorhanden sind. In diesem Szenario überschreibt das Standardverhalten des cp-Befehls alle vorhandenen Dateien. Dies kann problematisch sein, wenn die Dateien unterschiedliche Daten enthalten.

In diesem Fall können wir die Option –backup verwenden und dem Befehl mitteilen, wie eine Sicherungskopie jeder vorhandenen Datei im Zielverzeichnis erstellt werden soll.

cp -v --backup myphotos Downloads/allphotos

Der obige Befehl kopiert alle Dateien von myphotos in das Verzeichnis allphotos innerhalb des Downloads-Verzeichnisses. Wenn das Verzeichnis allphotos bereits eine der Dateien enthält, die wir von myphotos übertragen, wird eine Sicherungskopie dieser Datei erstellt. Ein weiteres wichtiges Merkmal des cp-Befehls ist, dass er Backup-Versionen verfolgen kann.

Der obige Befehl benennt die Sicherungsdatei in den ursprünglichen Dateinamen + „`“ am Ende um.

Verfolgen Sie Backup-Versionen

Die leeren –backup-Optionen erstellen eine Sicherung jeder Datei im Zielverzeichnis, und wenn Sie versuchen, die Datei erneut zu kopieren, ersetzt der Befehl die vorhandenen Sicherungsdateien durch die neuen Sicherungsdateien. Wenn Sie die vorhandenen Sicherungsdateien behalten und jedes Mal, wenn Sie versuchen, Dateien in dasselbe Verzeichnis zu kopieren, eine neue erstellen möchten, können Sie die Option „numbered“ oder „t“ an –backup.

übergeben

Die nummerierte Option erstellt Sicherungsdateien und fügt am Ende jeder Sicherungsdatei eine Sicherungsnummer hinzu. Hier ist ein Beispielbefehl –

cp -rv --backup=numbered myphotos Downloads/allphotos

Der obige Befehl kopiert alle neuen Dateien in das Zielverzeichnis, und die duplizierten Dateien werden gesichert und durch die neuen Dateien ersetzt. Jede Sicherungsdatei erhält eine Versionsnummer, die dem Dateinamen hinzugefügt wird.

Dateien aktualisieren

Eine der nützlichsten Optionen des cp-Befehls ist „-u“. Dadurch werden nur neuere Dateien an das Ziel kopiert und der Rest bleibt übrig. Wenn beispielsweise eine Datei bereits im Zielverzeichnis vorhanden ist, vergleicht die Option „-u“ beide Dateien und kopiert nur, wenn die zu kopierende Datei neuer ist als die bereits vorhandene.

cp -rv -u myphotos Downloads/allphotos

Nur Dateiattribute kopieren (–attributes-only)

Wenn Sie Dateien mit einigen der Attribute der vorhandenen Dateien erstellen möchten, können Sie das Argument –attributes-only übergeben. Am angegebenen Ziel werden Dateien mit denselben Attributen und nicht mit Daten erstellt. Hier ist ein Beispiel –

cp -rv --attributes-only myphotos Downloads/allphotos

Fragen Sie vor dem Überschreiben von Dateien mit „-i“ und „-n“

Wenn Sie eine Sicherungskopie einer Datei erstellen, wird die vorhandene Datei gesichert und dann die Datei durch die neue ersetzt. Was ist, wenn Sie möchten, dass der Befehl Sie fragt, bevor eine Datei überschrieben wird? Dies ist mit den Optionen „-i“ und „-n“ möglich.

cp -rv -i myphotos Downloads/allphotos
Ask before overwriting any file
cp -rv -n myphotos Downloads/allphotos
Do not overwrite any file at all

Jetzt überschreibt der Befehl nur dann eine doppelte Datei, wenn Sie "y" eingeben, wenn Sie vom Befehl dazu aufgefordert werden. Und die Option „-n“ überschreibt überhaupt keine Datei.

Behält die Dateiattribute beim Kopieren bei

Alle oben genannten cp-Befehle kopieren Dateien und ihre Daten an ein Ziel, ohne jedoch die Dateiattribute wie Berechtigungen, Eigentum und Zeitstempel beizubehalten. Um auch Dateiattribute zu kopieren oder beizubehalten, verwenden Sie die Option „-p“ im cp-Befehl.

cp -rf -p myphotos Downloads/allphotos
The above command will not only copy files data but also preserve all the attributes.

Hinweis

Das Gegenteil des Arguments -p ist „–no-preserve“.

Dies waren also einige wichtige Optionen, die für den cp-Befehl verfügbar sind. Die vollständige Liste der Optionen finden Sie auf der Manpage des cp-Befehls.

man cp

FreeFileSync – Dateien vergleichen und synchronisieren

FreeFileSync ist ein benutzerfreundliches Tool zum Synchronisieren von Dateien zwischen zwei Verzeichnissen. Es verfügt über alle oben genannten Funktionen sowie viele weitere erweiterte Optionen, mit denen Sie eine große Anzahl von Dateien kopieren können.

Sie können zwei Verzeichnisse auswählen, zwischen denen Dateien synchronisiert werden sollen, die Filter anwenden und auf „Vergleichen“ klicken. Basierend auf dem von Ihnen angewendeten Filter werden beide Verzeichnisse gescannt und die Ergebnisse bereitgestellt. Wenn Sie mit den Ergebnissen zufrieden sind, können Sie auf die Schaltfläche „Synchronisieren“ klicken, um den Kopiervorgang zu starten.

Dateien nach Zeit, Größe und Inhalt vergleichen

Wenn Sie auf das „Zahnrad“-Symbol neben der Schaltfläche „Vergleichen“ klicken, können Sie die zu vergleichenden Eigenschaften auswählen, wenn Sie zwei Verzeichnisse vergleichen. Standardmäßig vergleicht das Tool die Dateizeit und -größe, aber Sie können auch auswählen, die Größe der Dateien oder des Inhalts zu vergleichen.

Filter anwenden

FreeFileSync kann beim Scannen des Quellverzeichnisses auch Filter anwenden und berücksichtigt Dateien oder Verzeichnisse nur dann, wenn mindestens eine der Bedingungen im Include-Feld erfüllt ist oder keine der Bedingungen in den Exclude-Feldern erfüllt ist.

Um beispielsweise alle Dateien aus einem bestimmten Verzeichnis im Quellverzeichnis mit Escapezeichen zu versehen, fügen Sie den Verzeichnisnamen in das Ausschlussfeld ein, legen Sie die minimale oder maximale Dateigröße fest oder legen Sie die Zeitspanne so fest, dass nur Dateien ausgewählt werden, die in der angegebenen Zeit erstellt oder geändert wurden .

Sie können auch Dateien mit einer bestimmten Erweiterung, einem Namen oder einem Wort irgendwo im Pfad ausschließen.

\*.gif
This will exclude all the files in the base directory with '.gif' extension.
\tower.png
This will exclude the file in the base directory with the name tower.png.
*mountains*
This will exclude all the files in the base directory with the word 'mountains' anywhere in the path.

Weitere Filterbeispiele finden Sie auf der offiziellen Seite von FreeFileSync.

FreeFileSync herunterladen

Download

Schlussfolgerung

Das ist also das Kopieren von Dateien oder Verzeichnissen in Linux. Sie können mit jeder der oben genannten Methoden gehen, um Verzeichnisse in Linux zu kopieren. Der nächste Artikel zeigt Ihnen, wie Sie bequem Dateien zwischen Linux-Computern entweder im selben Netzwerk oder in verschiedenen Netzwerken kopieren oder synchronisieren können.


Linux
  1. So kopieren Sie Dateien und Verzeichnisse unter Linux

  2. Linux-cp-Befehl

  3. Wie verwende ich den Rsync-Befehl unter Linux?

  4. Linux-ls-Befehl - Dateien auflisten

  5. mcopy-Befehl unter Linux

Kopieren Sie eine Datei in mehrere Verzeichnisse von der Befehlszeile unter Linux

So kopieren Sie Dateien unter Linux mit dem CP-Befehl

So kopieren Sie Dateien und Verzeichnisse im Linux-Terminal

4 Möglichkeiten zum Übertragen von Dateien und Verzeichnissen unter Linux

ls-Befehl unter Linux/UNIX

cp-Befehl unter Linux/UNIX