Salin file dan direktori tanpa konten file

18

Apakah ada cara untuk menyalin struktur direktori dengan file tetapi tanpa isinya. Maksud saya, saya ingin direktori yang sama persis dengan nama file tetapi membiarkannya kosong / kosong. Saya punya beberapa contoh aplikasi dalam beberapa bahasa pemrograman dan saya ingin menulis ulang dengan gaya saya sendiri tetapi tetap mengaturnya dalam file.

Saya akan berterima kasih atas bantuannya.

dagi12
sumber

Jawaban:

36

Dari man cp

--attributes-only jangan menyalin data file, hanya atribut

Jadi, jika Anda ingin menyalin semua folder dan file yang ada di somedirectory

melakukan cp -R --attributes-only somedirectory destinationdirectory

Sergiy Kolodyazhnyy
sumber
Inilah yang saya butuhkan. Terima kasih banyak.
dagi12
4
+1 karena saya tidak berpikir seseorang telah menerapkan ini - sangat terkejut.
mgarciaisaia
@mgarciaisaia Saya hanya terkejut sama seperti Anda, ketika saya memeriksa halaman manual pagi ini =)
Sergiy Kolodyazhnyy
10

Bagus bahwa Ubuntu cpmemiliki fitur ini, tetapi jika Anda harus menemukan diri Anda pada mesin yang tidak (gaya BSD cptidak, misalnya, jadi OS X tidak baik), sangat mudah dilakukan find. Ini dia sebagai dua baris (untuk keterbacaan):

% cd original_dir
% find . -type d -exec mkdir -p ../copy_dir/{} \;
% find . -type f -exec touch ../copy_dir/{} \;

Jika copy_dirsudah ada, Anda dapat melewatkan -pargumen mkdirkarena findakan melintasi pohon direktori top-down. Untuk pekerjaan besar, Anda dapat memotong milidetik lain atau lebih dengan mengakhiri perintah dengan +alih - alih \;jika Anda findmendukungnya (mungkin memang demikian).

Sunting: Perintah di atas diabaikan untuk menangani tautan simbolis, yang dapat disalin dengan menjalankan ketiga find( jangan mengakhiri yang ini dengan +):

% find . -type l -exec cp -R {} ../copy_dir/{} \;
alexis
sumber