¿Cómo puedo copiar un solo archivo y mantener la estructura del directorio?

12

¿Cómo puedo hacer esto en la línea de comando?

por ejemplo, copiar /dir/another/filea /tmp/lo que tengo/tmp/dir/another/file

Allan Thomas
fuente

Respuestas:

25
cp --parents /dir/another/file /tmp

Hará exactamente lo que quieras.

Colin 't Hart
fuente
alguna idea para os / x? --parentsno vive aquí; (
javadba
tar o rsync? Vea las otras dos respuestas :-)
Colin 't Hart
1
Para macOS puede, a través de homebrew, instalar brew install coreutilsy usargcp --parents /dir/another/file /tmp
dotnetCarpenter
4

rsync puede ser una buena ayuda para esto:

rsync -Ravz my/first/dir/file.txt another_dir

dará como resultado

another_dir/my/first/dir/file.txt
Cédric Julien
fuente
2

Puede usar tarpara preservar rutas al copiar archivos:

tar cf - /dir/another/file | (cd /tmp && tar xf -)
Roland Levillain
fuente