छिपी हुई फ़ाइलों के बिना 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.