Lösung 1:
Der benötigte Schalter ist --parents
, z. B.:
[email protected]:~$ cp --parents test/1/.moo test2/
[email protected]:~$ ls -la test2/
total 42
drwxr-xr-x 3 jim jim 72 2010-09-14 09:32 .
drwxr-xr-x 356 jim jim 43136 2010-09-14 09:32 ..
drwxr-xr-x 3 jim jim 72 2010-09-14 09:32 test
[email protected]:~$ ls -la test2/test/1/.moo
-rw-r--r-- 1 jim jim 0 2010-09-14 09:32 test2/test/1/.moo
Lösung 2:
Sie können auch rsync -R
verwenden , das unter OSX funktioniert, wobei cp --parents
ist nicht verfügbar.
https://stackoverflow.com/a/13855290/598940
Lösung 3:
Verwenden Sie tar
mit so etwas wie:
mkdir b; tar cpf - myProject/ | tar xpf - -C b/
(Nicht getestet. Machen Sie zuerst einen Probelauf oder versuchen Sie es in einem Mockup-Szenario.)
Lösung 4:
Verwenden Sie zuerst mkdir -p
um den Zielordner mit rekursiver übergeordneter Pfaderstellung zu erstellen. Kopieren Sie dann den Inhalt in den Zielordner:
mkdir -p b/myProject/.project
cp -r a/myProject/.project/file b/myProject/.project
Lösung 5:
cp -P a/myProject/.project b
Siehe man cp
für weitere Informationen.