छिपी हुई फ़ाइलों के बिना cp -r


89

मेरे पास दो निर्देशिकाएं हैं और एक खाली है।

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


यह उल्लेखनीय है, लेकिन प्रतिलिपि के बाद उन्हें हटा देना सरल हो सकता है
— Karoly Horvath

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

जवाबों:


127

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

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

1
Cp के साथ तुलना करने पर कोई ओवरहेड्स?
— राहुल

2
@ राहुल ने इसे बेंचमार्क करने के लिए मेरे साथ ऐसा नहीं किया, लेकिन मुझे लगता है कि आपको इस बारे में चिंता नहीं करनी चाहिए
— यूजीन यारमश

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

26

तुम कर सकते हो

cp -r SRC_DIR/* DEST_DIR

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


6
ठीक यही समस्या है .. :)
— राहुल

9
लेकिन यह जीआईटी-रिपोज के लिए काम करता है, अगर आप .ITIT में संपूर्ण जीआईटी-इंडेक्स को कॉपी नहीं करना चाहते हैं तो ...
— सेडाट किंसी

1
मैंने इसका उत्तर इसलिए दिया क्योंकि यह वह उपाय है जिसकी मुझे तलाश थी। मैं पेड़ पर सभी आक्रमणों को बाहर नहीं करना चाहता, बस जड़ स्तर पर इनविस्बील्स!
— l008com

एक और प्रकार cp SOURCE/[!.]* TARGET।
— Carel

4

rsync में "-C" विकल्प है

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

उदाहरण:

rsync -vazC  dir1 dir2

तुम सही हो। मैंने mkdir -p dir1 / subdir आज़माया; स्पर्श dir1 / subdir / .cvs; rsync -avzC dir1 dir2
— slitvinov

rsync -av --exclude = "। *" src dest बढ़िया काम करता है। ऊपर दिए गए उत्तर को यूजीन द्वारा देखें। फिर भी धन्यवाद! :)
— राहुल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.