Как я могу скопировать один файл и поддерживать структуру каталогов?

12

Как я могу сделать это в командной строке?

например , скопировать /dir/another/fileв /tmp/так у меня есть/tmp/dir/another/file

Аллан Томас
источник

Ответы:

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

будет делать именно то, что вы хотите.

Колин т Харт
источник
какие-нибудь идеи для os / x? --parentsне живи здесь; (
Джавадба
tar или rsync? Посмотрите два других ответа :-)
Colin 't Hart
1
Для macOS вы можете, через homebrew, установить brew install coreutilsи использоватьgcp --parents /dir/another/file /tmp
dotnetCarpenter
4

rsync может помочь в этом:

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

будет давать в результате

another_dir/my/first/dir/file.txt
Седрик Жюльен
источник
2

Вы можете использовать tarдля сохранения путей при копировании файлов:

tar cf - /dir/another/file | (cd /tmp && tar xf -)
Ролан Левилэйн
источник