2012-07-19 30 views
59

मेरे पास दो निर्देशिकाएं हैं और एक खाली है।सीपी-आर छिपी हुई फाइलों के बिना

पहली निर्देशिका में छिपी हुई फाइलों के साथ कई उप निर्देशिकाएं हैं। जब मैं cp -r सामग्री को दूसरी निर्देशिका से दूसरे स्थान पर ले जाता हूं, तो छिपी हुई फाइलें भी कॉपी हो जाती हैं। उनसे बचने के लिए कोई समाधान?

+0

यह संभव है, लेकिन उन्हें हटाने टी के बाद वह प्रतिलिपि –

+4

हाँ हो सकती है, लेकिन छिपी हुई फाइलों को अन्य स्थानों पर मुकाबला करना मेरे मामले में एक सुरक्षा खतरे है। – Rahul

उत्तर

99

आप rsync का उपयोग कर सकते हैं:

rsync -av --exclude=".*" src dest 
+0

सीपी की तुलना में किसी भी ओवरहेड? – Rahul

+1

@Rahul यह मुझे बेंचमार्क करने के लिए नहीं हुआ, लेकिन मुझे लगता है कि आपको –

+1

के बारे में चिंता नहीं करनी चाहिए यह अच्छा काम करता है! धन्यवाद दोस्त! बस जानकारी के लिए, फ़ाइल आकार बड़ा होने पर rsync बहुत अच्छा होगा, लेकिन छोटी फ़ाइलों के मामले में सीपी के बराबर होगा। – Rahul

12

आप

cp -r SRC_DIR/* DEST_DIR 

सभी .files और SRC_DIR स्तर में .dirs बाहर करने के लिए क्या कर सकते हैं, लेकिन अभी भी यह उप-निर्देशिका के अगले स्तर में कोई छिपी हुई फ़ाइलें नक़ल की।

+1

यह बिल्कुल समस्या है .. :) – Rahul

+6

लेकिन यह जीआईटी-रेपोज़ के लिए काम करता है, अगर आप पूरे जीआईटी-इंडेक्स में प्रतिलिपि नहीं करना चाहते हैं .git/... –

1

rsync है "-सी" विकल्प

http://rsync.samba.org/ftp/rsync/rsync.html

उदाहरण:

rsync -vazC dir1 dir2 
+0

ठीक है, यह छिपी हुई फाइलों को उप डीआईआरएस से प्रतिलिपि बनाता है ... – Rahul

+0

आप सही हैं। मैंने कोशिश की ** mkdir -p dir1/subdir; स्पर्श dir1/subdir/.cvs; rsync -avzC dir1 dir2 ** – slitvinov

+0

rsync -av --exclude = "। *" src dest महान काम करता है। यूजीन द्वारा उपरोक्त उत्तर का संदर्भ लें। फिर भी धन्यवाद! :) – Rahul

संबंधित मुद्दे