Bagaimana saya bisa menyalin satu file dan mempertahankan struktur direktori?

12

Bagaimana saya bisa melakukan ini di baris perintah?

misalnya menyalin /dir/another/fileke /tmp/jadi saya memiliki/tmp/dir/another/file

Allan Thomas
sumber

Jawaban:

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

akan melakukan apa yang Anda inginkan.

Colin 't Hart
sumber
ada ide untuk os / x? --parentsjangan tinggal di sini; (
javadba
tar atau rsync? Lihat dua jawaban lainnya :-)
Colin 't Hart
1
Untuk macOS Anda dapat, melalui homebrew, menginstal brew install coreutilsdan menggunakangcp --parents /dir/another/file /tmp
dotnetCarpenter
4

rsync dapat menjadi bantuan yang baik untuk ini:

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

akan memberi hasilnya

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

Anda dapat menggunakan taruntuk mempertahankan path saat menyalin file:

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