cp rekursives Kopieren - Frage

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
shevegen
Beiträge: 416
Registriert: 30.03.2004 00:32:53

cp rekursives Kopieren - Frage

Beitrag von shevegen » 02.09.2004 07:18:05

Hi, mittels
cp -R kann man ja rekursiv so ziemlich alles Kopieren.

Nun habe ich zB in einem Pfad 12 Verzeichnisse, von denen aber nur 11 kopiert werden sollen. Gibt's eine einfache Möglichkeit, dies cp mitzuteilen, so das dieses eine Verzeichnis ausgelassen wird, die anderen Verzeichnisse aber rekursiv kopiert werden?

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 02.09.2004 07:46:29

Laut man page geht das nicht. Wenn es immer das gleiche Verzeichnis ist, dann lösch es doch anschliessend wieder beim Zielpfad. Ansonsten schau Dir mal tar und die Option -X an (exclude files matching patterns listed in FILE). Mit tar kann man sowas machen:

Code: Alles auswählen

cd /mein/originazl/verzeichnis/
tar cpf - . | ( cd /mein/neues/verzeichnis ; tar xvpf -)
Das macht das gleiche wie Dein cp -R, ist aber eleganter, weil man mit so einer Mimik sogar per rsh oder ssh ganze Verzeichnisse übers Netz kopieren kann:

Code: Alles auswählen

cd /mein/originazl/verzeichnis/
tar cpf - . | gzip | ssh zweiterpc "cd /mein/neues/verzeichnis ; gunzip | tar xpf -"
Jetzt musst Du nur noch das -X ausnutzen, wie das geht, weiss ich jetzt gerade nicht auswendig, wahrscheinlich einfach eine Datei anlegen mit dem Namen des Verzeichnisses, das Du nicht kopieren willst und dann beim ersten tar (s.o.) -X dateiname angeben. Google aber mal lieber, um sicher zu gehen...

Gruss, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

Benutzeravatar
shevegen
Beiträge: 416
Registriert: 30.03.2004 00:32:53

Beitrag von shevegen » 02.09.2004 23:35:19

Vielen Dank :)

Antworten