नई निर्देशिका के लिए कई निर्देशिकाओं को कॉपी करने का बेहतर तरीका


33

क्या कमांड लाइन पर एक बेहतर तरीका है अनिवार्य रूप से निम्नलिखित को पूरा करने के लिए लेकिन एक ही आदेश के साथ

cp -r css/ ar/
cp -r images/ ar/
cp -r js/ ar/
cp -r backups/ ar/

मैं सिर्फ एक अर्धविराम के साथ उन्हें स्ट्रिंग कर रहा हूं।

जवाबों:


63

किसी अन्य फ़ोल्डर में फ़ोल्डर की प्रतिलिपि बनाना (फ़ोल्डर में फ़ोल्डर):

cp -r css images js backups ar/

नोट: यह केवल स्वयं सामग्री (फ़ोल्डर में फ़ोल्डर्स की सामग्री) की प्रतिलिपि बनाने से अलग है:

cp -r css/ images/ js/ backups/ ar/

4
स्लैश एक फर्क पड़ता है! हमेशा संदेह था, कभी नहीं पता था
पीटर पेर्हेट

2
स्लैश मेरे परीक्षण में फर्क नहीं करते। cpनहीं है rsync। हालांकि cp -r css/. images/. ar/निर्देशिकाओं के बिना सामग्री की प्रतिलिपि बनाता है। मेरा cp संस्करण "cp (GNU coreutils) 8.29" है।
sourcejedi

1

इसका उत्तर सरल है, और यह डेबियन पर काम करता है "यह वास्तव में यह है कि मैंने इसे कैसे किया" (परीक्षण किया गया) आपको बताता है कि आप / आदि में हैं और अपनी हार्ड डिस्क (किसी कारण से) को प्रारूपित करने से पहले कुछ फ़ाइलों और फ़ोल्डरों को कॉपी करना चाहते हैं नीचे दिए गए प्रकार और नीचे बताई गई सभी चीजों को / mybackups / फ़ोल्डर में कॉपी किया जाएगा :

sudo cp -r -a apt/ bash.bashrc environment hosts init.d/ init/ nginx/ proxychains.conf sudoers sysctl.d/ profile.d/ grub.d/ /boot/grub/ /opt/ /root/ /var/www/ /mybackups/

जैसा कि आप ऊपर देख सकते हैं, मैंने इसके आदि / बूट / ग्रब / या / ऑप्ट / जैसे स्थान को इंगित करके बाहर से फ़ोल्डर्स कॉपी करने की कोशिश की और यह काम किया!


1
मेरा मानना ​​है कि -r की जरूरत नहीं है, क्योंकि -ए में पहले से ही यह है (के माध्यम से: आदमी)।
डेविड पोट्टनिक 25

-2

आप cpअकेले कमांड का उपयोग करके दो निर्देशिकाओं को कॉपी नहीं कर सकते ।

-rयद्यपि आप विकल्प का उपयोग करके पुनरावर्ती कॉपी कर सकते हैं ।

उदाहरण के लिए:

cp -r <source> <destination> 
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.