Como posso copiar um único arquivo e manter a estrutura de diretórios?

12

Como posso fazer isso na linha de comando?

por exemplo, copiar /dir/another/filepara /tmp/então eu tenho/tmp/dir/another/file

Allan Thomas
fonte

Respostas:

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

fará exatamente o que você quiser.

Colin 't Hart
fonte
alguma idéia para os / x? --parentsnão mora aqui; (
javadba 27/03
tar ou rsync? Veja as outras duas respostas :-)
Colin 't Hart
1
Para MacOS você pode, via homebrew, instalar brew install coreutilse usargcp --parents /dir/another/file /tmp
dotnetCarpenter
4

O rsync pode ser uma boa ajuda para isso:

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

vai dar como resultado

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

Você pode usar tarpara preservar caminhos ao copiar arquivos:

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