मैं टर्मिनल का उपयोग करके किसी अन्य निर्देशिका में फ़ोल्डर की सामग्री को दूसरे फ़ोल्डर में कैसे कॉपी कर सकता हूं?


739

मैं टर्मिनल का उपयोग करके किसी अन्य निर्देशिका में एक फ़ोल्डर की सामग्री को दूसरे फ़ोल्डर में कॉपी करने की कोशिश कर रहा हूं।

क्या कोई मुझे इसे प्राप्त करने के लिए आवश्यक कमांड लाइन सिंटैक्स का उदाहरण प्रदान करने में सक्षम होगा?

जवाबों:


1114

आप किसी फ़ोल्डर की सामग्री को कमांड के साथ /sourceकिसी अन्य मौजूदा फ़ोल्डर में कॉपी कर सकते हैं/dest

cp -a /source/. /dest/

-aविकल्प एक बेहतर पुनरावर्ती विकल्प, बस इतना ही फ़ाइल विशेषताओं को बनाए रखने, और यह भी सिमलिंक की रक्षा है।

.स्रोत पथ के अंत में एक विशिष्ट है cpसिंटैक्स, छिपे हुए लोगों को शामिल सभी फ़ाइलों और फ़ोल्डरों को कॉपी करने की अनुमति देते हैं।


@enzotib मैं "डाउनलोड / टेक्सटेक्स्ट" की सामग्री को "~ / .config / inkscape / एक्सटेंशन /" की प्रतिलिपि बनाने के लिए इस कमांड का उपयोग करने का प्रयास कर रहा हूं। आपके आदेश का उपयोग करते हुए मैं "cp -a / Downloads / textext /। /~/config/inkscape/extensions/" टाइप करता हूं। लेकिन यह काम नहीं करता है
फन्जियों

@ फ़ंजिज़: शायद आपकी आज्ञा होनी चाहिए:cp -a ~/Downloads/textext/. ~/.config/inkscape/extensions/
enzotib

-pफ़ाइल अनुमतियों और टाइमस्टैम्प को संरक्षित करने के लिए ध्वज जोड़ें । cp -ap /var/www/original.com/images/. /var/www/new.com/images/
डायलन वालडे

3
@DylanValade: -aपहले से ही तात्पर्य है --preserve=all, की तुलना में व्यापक है -p = --preserve=mode,ownership,timestamps
enzotib

1
@ बेनीइजेनबॉयर: scpका उपयोग नेटवर्क पर (के माध्यम से ssh) की प्रतिलिपि बनाने के लिए किया जाता है और केवल संचार चैनल को एन्क्रिप्ट करता है, न कि गंतव्य फाइलसिस्टम की फाइलों को।
enzotib

129

एक वैकल्पिक rsync है

rsync -r source/ destination

Rsync के लाभ हैं:

  1. प्रारंभिक सिंक के बाद, यह केवल उन फ़ाइलों को कॉपी करेगा जो बदल गए हैं।

  2. आप इसे एक नेटवर्क पर उपयोग कर सकते हैं, $ HOME में फ़ाइलों के लिए सुविधाजनक है, विशेष रूप से फ़ाइलों को कॉन्फ़िगर करें।


5
मुझे लगता है कि आपको तारांकन की आवश्यकता नहीं है। rsync -r source/ destinationपर्याप्त होना चाहिए, नहीं?
जोसुआ

1
यह एक अधिक उपयुक्त है: 'rsync -rtvp स्रोत / * गंतव्य'
shridutt कोठारी

-छिपी हुई फ़ाइलों / फ़ोल्डरों के लिए काम नहीं करता है
Nam G VU

1
यह छिपी हुई फ़ाइलों की नकल नहीं करेगा, क्योंकि बैश केवल गैर-छिपी हुई फ़ाइल में फैलता है। @ जोशुआ द्वारा समाधान सुरक्षित है।
सायरबर्गर

rsync छिपी हुई फ़ाइलों सहित संपूर्ण निर्देशिका की प्रतिलिपि बना देगा, यदि आप अनुगामी / बिना * का उपयोग करते हैं, तो rync source/ destजाहिर है कि लोगों को अपनी इच्छानुसार कार्य करने के लिए rsync कमांड को अनुकूलित करना होगा।
पैंथर

78

आप एक फ़ोल्डर बुलाया है कहते हैं कि चलो फ़ोल्डर 1 अपने में ~, अंदर फ़ोल्डर 1 1 फ़ाइल कहा जाता है file1 और 2 फ़ोल्डरों कहा जाता sub1 और sub2 अन्य फ़ाइलों और फ़ोल्डरों उन्हें अंदर के साथ प्रत्येक।

आप की सभी सामग्री को कॉपी करने के ~/folder1लिए ~/new_folder1उपयोग करेंगे

cp -r ~/folder1/. ~/new_folder1

new_folder1फिर सभी फ़ाइलों और फ़ोल्डरों को शामिल किया जाएगा folder1

cpएक टर्मिनल का उपयोग करके कॉपी करने का आदेश है, -rइसे पुनरावर्ती बनाता है (इसलिए, वर्तमान निर्देशिका + वर्तमान के अंदर आगे की निर्देशिका) ~/folder1मूल फ़ोल्डर है, ~/new_folder1मूल के अंदर फ़ाइलों / फ़ोल्डरों के लिए गंतव्य फ़ोल्डर है।


5
यह छिपी हुई फाइलों को नहीं पकड़ता है
पोर्टेबलजिम

1
शुक्रिया ब्रूनो! इसने मुझे वाक्य रचना को समझने में मदद की, हालाँकि मुझे इसे थोड़ा बदलना पड़ा (~ चिन्ह हटाकर)। शायद इसलिए कि गंतव्य फ़ोल्डर / ऑप्ट में था, जो किसी अन्य फ़ाइल सिस्टम में रहता है। और छुपी हुई फ़ाइल चीज़ को याद करने के लिए आपको पोर्टेबलजिम धन्यवाद!
पंडिसवेविया 15

4
अनुगामी अवधि महत्वपूर्ण है। इसके बिना, कभी-कभी यह ~/new_folder1/folder1सामग्री को कॉपी करने के बजाय एक नया उपनिर्देशिका बना सकता है ।
23

1
क्यों नहींcp -r ~/folder1/* ~/new_folder1
1078 में एलेक्स78191

@ एलेक्स78191[root@ home]# mkdir food [root@ home]# cd food/ [root@ food]# mkdir .fruit [root@ food]# mkdir veggies [root@ food]# touch veggies/carrots [root@ food]# touch .fruit/apple [root@ food]# ls * carrots [root@ food]#
ब्रूनो परेरा

14

प्रतिलिपि फ़ोल्डर के बारे में अधिक जानकारी के लिए इस http://www.cyberciti.biz/faq/copy-folder-linux-command-line/ की जाँच करें । उम्मीद है की यह मदद करेगा।

cp Command

cpफ़ाइलों और निर्देशिकाओं की प्रतिलिपि बनाने के लिए लिनक्स कमांड है। सिंटैक्स निम्नानुसार है:

cp source destination
cp dir1 dir2
cp -option  source destination
cp -option1 -option2  source destination

इस उदाहरण में /home/vivek/lettersफ़ोल्डर और उसकी सभी फाइलों को /usb/backupनिर्देशिका में कॉपी करें :

cp -avr /home/vivek/letters /usb/backup

कहाँ पे,

-a : निर्दिष्ट विशेषताओं को संरक्षित करें जैसे कि एक फ़ाइल मोड, स्वामित्व, टाइमस्टैम्प, यदि संभव हो तो अतिरिक्त विशेषताएँ: संदर्भ, लिंक, xattr, सभी।

-v : समझाइए कि क्या किया जा रहा है।

-r: निर्देशिकाओं को पुनरावर्ती रूप से कॉपी करें। उदाहरण

/ Tmp / conf / / tmp / backup नामक एक फ़ोल्डर की प्रतिलिपि बनाएँ:

$ cp -avr /tmp/conf/ /tmp/backup

3
यह वह नहीं है जो सवाल पूछता है।
AStopher

(-R के साथ -r का उपयोग बेमानी है; ग्नू cp -a पर "-dr --preserve = all" के समान है)
cristoper

1
cp: -R और -r विकल्प एक साथ निर्दिष्ट नहीं किए जा सकते हैं।
इगोरगानापोलस्की

4

सरल उदाहरण है।

कॉपी निर्देशिका dir_1 और उसकी सामग्री (_files_) निर्देशिका में dir_2 :

cp -r ./dir_1 ./dir_2
# or
cp -r ./dir_1/ ./dir_2/
# Results in: ./dir_2/dir_1/_files_

कॉपी केवल dir_1 की सामग्रियों (_files_) निर्देशिका में dir_2 :

cp -r ./dir_1/. ./dir_2
# or
cp -r ./dir_1/. ./dir_2/
# Results in: ./dir_2/_files_*

_files_ निर्देशिका में स्थित वास्तविक फ़ाइलों के लिए एक प्लेसहोल्डर है।


2

यदि दो फ़ोल्डर हैं: (लिखित अनुमति के साथ)

drwxr-xr-x 4 vimal vimal  4096 Sep  9 12:17 .
drwxr-xr-x 3 root  root   4096 Aug 18 14:35 ..
drwxrwxrwx 6 vimal vimal  4096 Sep  9 12:15 DATA
drwxrwxrwx 7 vimal vimal  4096 Sep  9 12:15 PORTAL

यदि आप PORTAL नामक फ़ोल्डर के अंदर हैं, जहाँ आप किसी अन्य फ़ोल्डर की सभी सामग्री को उसी स्तर पर कहना चाहते हैं तो आप ऐसा करेंगे

vimal@vimal-D3H:/var/www/html/PORTAL$ cp -a ../DATA/. .

आपको 2 डॉट्स नोटिस करने होंगे। लास्ट डॉट कहते हैं कि यहां मौजूद फ़ोल्डर में कॉपी करें

तथा

एक निम्नलिखित / डेटा /। कहते हैं कि DATA फ़ोल्डर के अंदर सभी सामग्री की प्रतिलिपि बनाई जानी चाहिए, और स्वयं DATA फ़ोल्डर नहीं।

यदि आप इस अनुगामी को हटा देते हैं "।" से / डेटा /

फिर पूरे डेटा फ़ोल्डर को PORTAL के अंदर कॉपी किया जाएगा (जहां आप नकल कर रहे हैं)।

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