Apakah ada cara untuk menyalin seluruh direktori, tetapi hanya folder? Saya memiliki file yang rusak di direktori saya yang menyebabkan hard disk saya gagal.
Jadi, alih-alih menyalin file yang rusak ke hard disk lain, saya hanya ingin menyalin folder, karena saya punya skrip yang mencari ratusan folder, dan saya tidak ingin harus secara manual membuat semuanya.
Saya memang mencari manual cp, tetapi tidak bisa melihat apa-apa (saya mungkin melewatkannya)
Katakanlah saya memiliki struktur ini pada HDD saya yang gagal:
dir1
files
dir2
files
files
dir4
dir3
files
Yang saya inginkan adalah struktur direktori, bukan file sama sekali.
Jadi saya berakhir dengan HDD baru:
dir1
dir2
dir4
dir3
Berharap ada yang tahu beberapa trik!
rsync
untuk menyalin struktur direktori DAN mempertahankan izin dan atribut] ( stackoverflow.com/a/9242883/52074 ). Menggunakan polosmkdir -p
tidak mempertahankan izin dan atribut .Jawaban:
Jika Anda ingin mencerminkan kerangka direktori dan menyalin tidak ada file:
Apa yang terjadi di sini:
-links 2
untuk menemukan direktori sedalam mungkin .mkdir -p
akan membuat direktori yang hilang di sepanjang jalan.Saya sudah melakukannya seperti ini daripada
find -type d -exec mkdir -p "/path/to/backup/{}" \;
karena akan memotong seluruh buttloadmkdir
panggilan. Kita dapat dengan cepat membuktikan ini dengan sedikit tes. Inilah pohon tes diikuti oleh apa yang saya berlari untuk membandingkan dua perintah:Dan itu hanya akan menjadi lebih baik dalam solusi kata-nyata dengan ribuan direktori.
sumber
find
gunakan direktori kerja saat ini sebagai titik awal. Jika Anda ingin menggunakan jalur lain gunakan sintaks:find /path/to/search/ -type.....
find -type d -exec mkdir -p "/media/jinglez/TVSeries/TV Series"/{}" \;
dan semua harus baik-baik saja? Tampaknya akan memakan waktu cukup lama: /find -type d -links 2 -exec mkdir -p "/media/jinglez/TVSeries/TV Series/{}" \;
Cukup mudah dilakukan dengan python one-liner:
Sebagai skrip ini dapat ditulis ulang seperti:
sumber