Řešení 1:
Přepínač, který potřebujete, je --parents
, např.:
[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
Řešení 2:
Můžete také použít rsync -R
, který funguje na OSX, kde cp --parents
není k dispozici.
https://stackoverflow.com/a/13855290/598940
Řešení 3:
Použijte tar
s něčím jako:
mkdir b; tar cpf - myProject/ | tar xpf - -C b/
(Netestováno. Nejdříve jej vyzkoušejte nebo vyzkoušejte v modelovém scénáři.)
Řešení 4:
Nejprve použijte mkdir -p
k vytvoření cílové složky s rekurzivním vytvářením rodičovské cesty. Poté zkopírujte obsah do cílové složky:
mkdir -p b/myProject/.project
cp -r a/myProject/.project/file b/myProject/.project
Řešení 5:
cp -P a/myProject/.project b
Viz man cp
pro více informací.