यूनिक्स - एक निर्देशिका की सामग्री को दूसरे [बंद] में कॉपी करें


90
Folder1/
    -fileA.txt
    -fileB.txt
    -fileC.txt

> mkdir Folder2/

> [copy command]

और अब Folder2/जैसा दिखता है:

Folder2/
    -fileA.txt
    -fileB.txt
    -fileC.txt   

यह कैसे हो सकता है? मैंने कोशिश की है cp -r Folder1/ Folder2/लेकिन मैं इसके साथ समाप्त हुआ:

Folder2/
    Folder1/
        -fileA.txt
        -fileB.txt
        -fileC.txt

जो करीब है लेकिन वैसा नहीं जैसा मैं चाहता था।

धन्यवाद!

जवाबों:


124

इसे इस्तेमाल करे:

cp Folder1/* Folder2/

3
लेकिन यह छिपी हुई फ़ाइलों की नकल नहीं करेगा, है ना?
Fabrizio Regini

9
सही बात। cp -Rहोगा, लेकिन वह फिर से कॉपी करेगा, ताकि आप उसका उपयोग करना चाहें या न कर सकें। आप cp Folder1/.* Folder2/केवल छिपी हुई फ़ाइलों को कॉपी करने के लिए कर सकते हैं ।
ज्योफ

1
ध्यान दें कि यह विफल हो जाएगा यदि आप "sudo" या समकक्ष का उपयोग कर रहे हैं और निर्देशिका में बहुत सारी फाइलें हैं। मुझे मिलता हैsudo: unable to execute /bin/cp: Argument list too long
नाथन उस्मान

ध्यान दें कि एससीपी में थोड़ा अलग वाक्यविन्यास है, यहां देखें: stackoverflow.com/a/26346339/1984636
sivi

यह मत करो। लिनक्स पर "cp -rT src dest", या BSD पर "cp -R src / dest" करें।
xpusostomos

47

एक *वाइल्डकार्ड के साथ काफी सरल ।

cp -r Folder1/* Folder2/

लेकिन आपके उदाहरण के अनुसार पुनरावृत्ति की आवश्यकता नहीं है, इसलिए निम्नलिखित पर्याप्त होगा:

cp Folder1/* Folder2/

संपादित करें:

या mkdir Folder2भाग को छोड़ दें और बस चलाएं:

cp -r Folder1 Folder2

अगर है ls | sort -k1.5 | head -8 > folder1तो कैसे करें?
पूजा

आपने अपनी सभी छिपी हुई फाइलें खो दी हैं। यह मत करो। लिनक्स पर "cp -rT src dest", या BSD पर "cp -R src / dest" करें।
xpusostomos

23

एक सटीक प्रतिलिपि बनाने के लिए, अनुमतियाँ, स्वामित्व, और सभी "cp" के साथ "-a" का उपयोग करें। "-r" फाइलों की सामग्री को कॉपी करेगा लेकिन जरूरी नहीं कि अन्य चीजों को समान रखें।

cp -av Source / * डेस्ट /

(सुनिश्चित करें कि गंतव्य पहले मौजूद है)

यदि आप बार-बार एक से दूसरे को अपडेट करना चाहते हैं या सुनिश्चित करें कि आप सभी डॉटफाइल्स की नकल भी करते हैं, तो rsyncयह एक बहुत बड़ी मदद है:

rsync -av --delete स्रोत / गंतव्य /

यह "पुनर्प्राप्त करने योग्य" भी है जिसमें आप कॉपी करते समय इसे निरस्त कर सकते हैं। मुझे "-v" पसंद है क्योंकि यह आपको देखता है कि क्या चल रहा है लेकिन आप इसे छोड़ सकते हैं।


1
किस -vलिए है?
HattrickNZ

क्रिया, बस यह देखना है कि क्या चल रहा है।
ब्रायन व्हाइट

1
यदि आपके पास बहुत सारी फाइलें हैं तो -vविकल्प में कुछ समय लग सकता है। यदि आपको -aकेवल आउटपुट उपयोग की आवश्यकता नहीं है ।
ईयाल लेविन

1
आपको टेक्स्ट आउटपुट द्वारा कॉपी की जाने वाली कॉपी के लिए बहुत धीमे नेटवर्क कनेक्शन पर चलना होगा। और फिर भी, यह केवल कमांड प्रॉम्प्ट की वापसी होगी, न कि कॉपी ही।
ब्रायन व्हाइट

आपने अपनी छिपी हुई फाइलें खो दीं। लिनक्स पर "cp -rT src dest", या BSD पर "cp -R src / dest" करें।
xpusostomos
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.