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

[Linux]:So kopieren Sie Dateien/Verzeichnisse, ohne die bereits kopierten Dateien zu überschreiben!

Frage: Kürzlich musste ich eine große Anzahl von Dateien mit einem Speicherplatz von 7 TB an einen anderen Ort auf meiner CentOS-Box kopieren. Ich habe den Befehl „cp“ verwendet, aber aus irgendeinem Grund (möglicherweise ein Netzwerkproblem) wurde der Befehl nach dem Kopieren einiger Dateien und Verzeichnisse beendet. Wenn ich jetzt den Kopiervorgang wieder aufnehme, beginnt der Befehl von vorne und kopiert die bereits kopierten Dateien (was wiederum verdammt viel Zeit und CPU kostet). Meine Frage ist also, kann ich "cp" sagen ‘ Befehl, um die bereits kopierten Dateien und Verzeichnisse zu ignorieren (damit ich etwas Zeit und CPU sparen kann). Irgendwelche Vorschläge?

Antwort: Sie können entweder „cp ‘ Befehl oder ‘rsync ‘ um Dateien zu kopieren.

Lösung1:Zuerst sehen wir den CP-Befehl:

cp -u --force <src> <dst>

Hier – u kopiert eine Datei nur, wenn die SOURCE-Datei neuer als die Zieldatei ist oder wenn die Zieldatei fehlt.

Hinweis :Falls der obige Befehl wie unten angezeigt wird:

cp : overwrite '<filename>'

Dann wird das „cp ‘Befehl wäre ein Alias ​​mit einem interaktiven Modus! Um den Alias ​​von „cp“ zu finden, geben Sie den folgenden Befehl ein:

# type cp
cp is aliased to `cp -i' 

Da es interaktiv ist, forderte es Benutzereingaben auf, selbst wenn Sie –force angegeben hatten Möglichkeit. Um das Obige zu vermeiden und nicht-interaktiv zu kopieren, verwenden Sie den absoluten Pfad des cp-Befehls wie unten gezeigt:

/usr/bin/cp -u --force <src> <dst>

Lösung 2:Verwendung des rsync-Befehls:

# rsync -av --ignore-existing<src> <dst>

Hinweis :rsync erstellt im Voraus eine Dateiliste. Wenn Ihre Quelle eine große Nr. von Dateien, dann rsync dauert Stunden und Stunden und Stunden, um eine so große Dateiliste zu erstellen! und Sie denken vielleicht, dass der Prozess hängen geblieben ist, fügen Sie stattdessen -p hinzu Option und Sie sehen einen Fortschrittsbalken und Sie müssen wirklich nicht glauben, dass rsync hängt!

Sie können auch auf unseren Artikel verweisen, um einen Fortschrittsbalken zum Kopieren und Verschieben von Befehlen in Linux hinzuzufügen.


Linux
  1. Wie kopiert man nur Dateien in einen Remote-Ordner auf einem anderen Server, die noch nicht im Ordner vorhanden sind … von der Befehlszeile in Linux?

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

  3. So verwenden Sie den Linux-Befehl find zum Suchen von Dateien

  4. So löschen Sie die Dateien, die älter als n Tage sind, OHNE den Befehl find zu verwenden

  5. Wie finde ich die größten Verzeichnisse oder größten Dateien?

So verwenden Sie den cp-Befehl zum Kopieren von Dateien und Verzeichnissen

Kopieren Sie Dateien und erstellen Sie gleichzeitig Zielverzeichnisse

So finden Sie Dateien mit dem fd-Befehl in Linux

So kopieren Sie Dateien und Verzeichnisse im Linux-Terminal

Sicheres Kopieren von Dateien mit dem SCP-Befehl

Wie finde ich die platzraubendsten Verzeichnisse oder Dateien heraus?