Wie kann ich den Inhalt eines Ordners mithilfe eines Terminals in einen anderen Ordner in einem anderen Verzeichnis kopieren?

515

Ich versuche, den Inhalt eines Ordners mit Terminal in einen anderen Ordner in einem anderen Verzeichnis zu kopieren.

Wäre jemand in der Lage, mir ein Beispiel für die erforderliche Befehlszeilensyntax zu geben?

    
pandisvezia 11.12.2011, 02:19

5 Antworten

781

Sie können den Inhalt eines Ordners /source mit dem Befehl

in einen anderen vorhandenen Ordner /dest kopieren
cp -a /source/. /dest/

Die Option -a ist eine verbesserte rekursive Option, die alle Dateiattribute beibehält und auch symbolische Verknüpfungen beibehält.

Das . am Ende des Quellpfads ist eine spezifische cp -Syntax, die es erlaubt, alle Dateien und Ordner, einschließlich verborgener, zu kopieren.

    
enzotib 11.12.2011 13:01
96

Eine Alternative ist rsync

rsync -r source/ destination

Die Vorteile von rsync sind:

  1. Nach der ersten Synchronisierung werden nur die geänderten Dateien kopiert.

  2. Sie können es über ein Netzwerk verwenden, das für Dateien in $ HOME, insbesondere für Konfigurationsdateien, praktisch ist.

Panther 11.12.2011 04:59
56

Nehmen wir an, Sie haben einen Ordner namens Ordner1 in Ihrem ~ , innerhalb Ordner1 ist 1 Datei mit dem Namen Datei1 und 2 Ordner mit dem Namen < em> sub1 und sub2 jeweils mit anderen Dateien und Ordnern in ihnen.

Um alle Inhalte von ~/folder1 nach ~/new_folder1 zu kopieren, würden Sie

verwenden
cp -r ~/folder1/. ~/new_folder1

new_folder1 würde dann alle Dateien und Ordner von folder1 enthalten.

cp ist der Befehl zum Kopieren mit einem Terminal, -r rekursiv (also aktuelles Verzeichnis + weitere Verzeichnisse innerhalb des aktuellen) ~/folder1 ist der Ursprungsordner, ~/new_folder1 ist der Zielordner für die Dateien / Ordner im Ursprung.

    
Bruno Pereira 11.12.2011 02:23
13

Weitere Informationen zum Kopieren des Ordners finden Sie in diesem Pfandrecht . Hoffe, das hilft.

cp Command

cp ist ein Linux-Befehl zum Kopieren von Dateien und Verzeichnissen. Die Syntax lautet wie folgt:

cp source destination
cp dir1 dir2
cp -option  source destination
cp -option1 -option2  source destination

In diesem Beispiel kopieren Sie den Ordner /home/vivek/letters und alle seine Dateien in das Verzeichnis /usb/backup :

cp -avr /home/vivek/letters /usb/backup

Wo,

-a : Behalten Sie die angegebenen Attribute wie Verzeichnis, Datei-Modus, Besitz, Zeitstempel, wenn möglich zusätzliche Attribute: Kontext, Links, xattr, all.

-v : Erkläre, was gemacht wird.

-r : Verzeichnisse rekursiv kopieren. Beispiel

Kopieren Sie einen Ordner namens / tmp / conf nach / tmp / backup:

$ cp -avr /tmp/conf/ /tmp/backup
    
Dilip Rajkumar 25.11.2014 06:53
2

Wenn es zwei Ordner gibt: (mit Schreibberechtigung)

drwxr-xr-x 4 vimal vimal  4096 Sep  9 12:17 .
drwxr-xr-x 3 root  root   4096 Aug 18 14:35 ..
drwxrwxrwx 6 vimal vimal  4096 Sep  9 12:15 DATA
drwxrwxrwx 7 vimal vimal  4096 Sep  9 12:15 PORTAL

Wenn Sie sich in dem Ordner PORTAL befinden, in dem Sie den gesamten Inhalt eines anderen Ordners kopieren möchten, sagen Sie DATA auf derselben Ebene dann machst du

[email protected]:/var/www/html/PORTAL$ cp -a ../DATA/. .

Sie müssen 2 Punkte bemerken. Letzter Punkt sagt, hier im aktuellen Ordner kopieren

und

eins nach / DATA /. sagt, dass alle Inhalte in DATA-Ordner kopiert werden sollen, und nicht der DATA-Ordner selbst.

Wenn Sie dieses nachgestellte "." von / DATA /

dann wird der gesamte DATEN-Ordner in das PORTAL kopiert (von dem aus Sie gerade fertig sind).

    
vimal krishna 09.09.2015 12:39

Tags und Links