Ich versuche, den Inhalt eines Ordners mithilfe des Terminals in einen anderen Ordner in einem anderen Verzeichnis zu kopieren.
Kann mir jemand ein Beispiel für die dafür erforderliche Befehlszeilensyntax geben?
Ich versuche, den Inhalt eines Ordners mithilfe des Terminals in einen anderen Ordner in einem anderen Verzeichnis zu kopieren.
Kann mir jemand ein Beispiel für die dafür erforderliche Befehlszeilensyntax geben?
Antworten:
Mit dem Befehl können Sie den Inhalt eines Ordners /source
in einen anderen vorhandenen Ordner kopieren/dest
cp -a /source/. /dest/
Die -a
Option ist eine verbesserte rekursive Option, die alle Dateiattribute und auch Symlinks beibehält.
Das .
Ende des Quellpfads ist eine bestimmte cp
Syntax, mit der alle Dateien und Ordner, einschließlich versteckter, kopiert werden können.
cp -a ~/Downloads/textext/. ~/.config/inkscape/extensions/
-p
Flag hinzu, um die Dateiberechtigungen und Zeitstempel beizubehalten. cp -ap /var/www/original.com/images/. /var/www/new.com/images/
-a
impliziert schon --preserve=all
, das ist breiter als -p = --preserve=mode,ownership,timestamps
.
scp
zum Kopieren über ein Netzwerk (durch ssh
) verwendet und verschlüsselt nur den Kommunikationskanal, nicht die Dateien im Zieldateisystem.
Eine Alternative ist rsync
rsync -r source/ destination
Die Vorteile von rsync sind:
Nach der ersten Synchronisierung werden nur die geänderten Dateien kopiert.
Sie können es über ein Netzwerk verwenden, das für Dateien in $ HOME geeignet ist, insbesondere für Konfigurationsdateien.
rsync -r source/ destination
sollte reichen, nein?
rync source/ dest
Daher müssen Benutzer den Befehl rsync natürlich so anpassen, dass er wie gewünscht funktioniert.
Lassen Sie uns sagen Sie einen Ordner mit dem Namen haben folder1 in Ihrem ~
Inneren folder1 1 Datei namens file1 und 2 Ordner genannt sub1 und SUB2 jeweils mit anderen Dateien und Ordner in ihnen.
Um den gesamten Inhalt von ~/folder1
zu kopieren , ~/new_folder1
würden Sie verwenden
cp -r ~/folder1/. ~/new_folder1
new_folder1
würde dann alle Dateien und Ordner von enthalten folder1
.
cp
ist der Befehl zum Kopieren mit einem Terminal, -r
macht es rekursiv (also aktuelles Verzeichnis + weitere Verzeichnisse in aktuell) ~/folder1
ist der Ursprungsordner, ~/new_folder1
ist der Zielordner für die Dateien / Ordner im Ursprung.
~/new_folder1/folder1
anstatt den Inhalt zu kopieren.
cp -r ~/folder1/* ~/new_folder1
[root@ home]# mkdir food [root@ home]# cd food/ [root@ food]# mkdir .fruit [root@ food]# mkdir veggies [root@ food]# touch veggies/carrots [root@ food]# touch .fruit/apple [root@ food]# ls * carrots [root@ food]#
Weitere Informationen zum Kopieren von Ordnern finden Sie unter http://www.cyberciti.biz/faq/copy-folder-linux-command-line/ . 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 /home/vivek/letters
Ordner und alle zugehörigen Dateien in das /usb/backup
Verzeichnis:
cp -avr /home/vivek/letters /usb/backup
Wo,
-a
: Behalten Sie die angegebenen Attribute bei, wie Verzeichnis, Dateimodus, Besitz, Zeitstempel, wenn möglich zusätzliche Attribute: Kontext, Links, xattr, alle.
-v
: Erklären Sie, was getan wird.
-r
: Verzeichnisse rekursiv kopieren. Beispiel
Kopieren Sie einen Ordner mit dem Namen / tmp / conf nach / tmp / backup:
$ cp -avr /tmp/conf/ /tmp/backup
Kopieren Sie das Verzeichnis dir_1 und seinen Inhalt (_files_) in das Verzeichnis dir_2 :
cp -r ./dir_1 ./dir_2
# or
cp -r ./dir_1/ ./dir_2/
# Results in: ./dir_2/dir_1/_files_
Kopieren Sie den Inhalt (_files_) nur von dir_1 in das Verzeichnis dir_2 :
cp -r ./dir_1/. ./dir_2
# or
cp -r ./dir_1/. ./dir_2/
# Results in: ./dir_2/_files_*
_files_
ist ein Platzhalter für die tatsächlichen Dateien im Verzeichnis.
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 den Sie den gesamten Inhalt eines anderen Ordners kopieren möchten, sagen Sie DATA auf derselben Ebene
vimal@vimal-D3H:/var/www/html/PORTAL$ cp -a ../DATA/. .
Sie müssen 2 Punkte beachten. Letzter Punkt sagt Kopie hier im anwesenden Faltblatt
und
eine folgende / DATA /. gibt an, dass alle INHALTE im DATA-Ordner kopiert werden sollen und nicht der DATA-Ordner selbst.
Wenn Sie dieses abschließende "." von / DATA /
Dann wird der gesamte DATA-Ordner in das PORTAL kopiert (von wo aus Sie kopieren).