फ़ाइलों और निर्देशिकाओं को फ़ाइलों की सामग्री के बिना कॉपी करें


18

क्या फाइलों के साथ निर्देशिका संरचना को कॉपी करने का एक तरीका है, लेकिन उनकी सामग्री के बिना। मेरा मतलब है कि मैं फ़ाइलों के नामों के साथ बिल्कुल वही निर्देशिका चाहता हूं, लेकिन उन्हें खाली / खाली छोड़ रहा हूं। मेरे पास कुछ प्रोग्रामिंग भाषा में कुछ उदाहरण अनुप्रयोग हैं और मैं उन्हें अपनी शैली से फिर से लिखना चाहता हूं लेकिन जिस तरह से वे फाइलों में व्यवस्थित थे, उसे ध्यान में रखते हुए।

किसी भी सहायता के लिए आभारी रहेंगे।

जवाबों:


36

से man cp

- केवल विशेषताओं को फ़ाइल डेटा की प्रतिलिपि न करें, केवल विशेषताएँ

इसलिए, यदि आप सभी फ़ोल्डर्स और फ़ाइलों को कॉपी करना चाहते हैं जो अंदर हैं somedirectory

कर cp -R --attributes-only somedirectory destinationdirectory


यह ठीक वैसा ही है जैसा मुझे चाहिए। आपका बहुत बहुत धन्यवाद।
dagi12

4
+1 क्योंकि मुझे नहीं लगता कि किसी ने पहले ही इसे लागू कर दिया था - वास्तव में आश्चर्य हुआ।
मर्गिसिसेया

@mgarciaisaia आप जैसे थे वैसे ही आश्चर्यचकित रह गए, जब मैंने आज सुबह मैन पेज चेक किया =)
सर्गी कोलोडियाज़नी

10

अच्छा लगा कि उबंटू cpमें यह सुविधा है, लेकिन अगर आपको अपने आप को एक ऐसी मशीन पर ढूंढना चाहिए जो नहीं करती है ( cpउदाहरण के लिए बीएसडी-स्टाइल नहीं है, तो ओएस एक्स या तो नहीं करता है), यह बहुत आसान है find। यहाँ यह दो-लाइनर के रूप में है (पठनीयता के लिए):

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

तो copy_dirपहले से मौजूद है, तो आप छोड़ सकते हैं -pकरने के लिए तर्क mkdirके बाद से findनिर्देशिका वृक्ष ऊपर से नीचे पार होगा। बड़े कार्यों के लिए, आप के साथ आदेशों को समाप्त कर किसी अन्य मिलीसेकंड या तो बंद दाढ़ी कर सकते हैं +के बजाय \;यदि आपका findयह समर्थन करता है (यह शायद करता है)।

संपादित करें: उपर्युक्त आदेशों को प्रतीकात्मक लिंक को संभालने के लिए उपेक्षित किया गया है, जिसे तीसरे रन के साथ कॉपी किया जा सकता है find( इसे इसके साथ समाप्त करें +):

% find . -type l -exec cp -R {} ../copy_dir/{} \;
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.