यह ट्यूटोरियल आपको Linux cp कमांड का उपयोग करना सिखाएगा – वह कमांड जो फ़ाइलों को एक निर्देशिका से दूसरी में कॉपी करती है।
Linux बहुत सारे डेवलपर्स के लिए पसंदीदा प्लेटफॉर्म है। यदि आप Linux में नए हैं तो बहुत समय नहीं लगेगा जब आपको एक स्थान से दूसरे स्थान पर फ़ाइलों को कॉपी करना शुरू करना होगा – Linux cp कमांड के स्पष्टीकरण और इसका उपयोग करने के कुछ टिप्स और ट्रिक्स के लिए पढ़ें।
cp कमांड
cp कमांड का एक सरल उद्देश्य है – फ़ाइलों और फ़ोल्डरों को एक स्थान से दूसरे स्थान पर कॉपी करना।
यह Linux सिस्टम से जुड़े किसी भी फ़ाइल सिस्टम पर ऐसा कर सकता है और मूल फ़ाइल को संरक्षित करते हुए आपको कॉपी की गई फ़ाइलों का नाम बदलने और ओवरराइट करने के विकल्प देगा।
cp कमांड का सिंटैक्स इसके मैनुअल पेज के अनुसार है:
cp [OPTIONS] SOURCE DESTINATION
cp कमांड विकल्प
अपना कॉपी कमांड दर्ज करते समय, आप यह निर्दिष्ट कर सकेंगे कि आप पहले से मौजूद फ़ाइलों के साथ क्या करना चाहते हैं, और क्या कॉपी में निर्देशिका सामग्री शामिल करनी है। यहां कुछ आमतौर पर उपयोग किए जाने वाले विकल्प हैं:
-b बैकअप (प्रत्येक गंतव्य फ़ाइल का बैकअप बनाएं)
-f फोर्स (यदि कोई मौजूदा गंतव्य फ़ाइल खोली नहीं जा सकती, तो इसे हटा दें और पुनः प्रयास करें)
-i इंटरैक्टिव (ओवरराइट से पहले संकेत दें)
-n नो-क्लोबर (मौजूदा फ़ाइल को ओवरराइट न करें)
-p प्रिजर्व (मोड, स्वामित्व, टाइमस्टैम्प संरक्षित करें)
-r रिकर्सिव (निर्देशिकाओं और उनकी सामग्री को कॉपी करें)
-u अपडेट (तभी कॉपी करें जब स्रोत फ़ाइल गंतव्य फ़ाइल से नई हो या जब गंतव्य फ़ाइल गायब हो)
-v वर्बोज़ (बताएं कि क्या किया जा रहा है)
cp का उपयोग करके फ़ाइलों और निर्देशिकाओं को कॉपी करने के कमांड उदाहरण
एकल फ़ाइल कॉपी करना
बस cp कमांड दर्ज करें जिसके बाद स्रोत और गंतव्य फ़ाइलों का पथ हो, एक स्पेस से अलग:
cp /path/to/source/file.txt /path/to/destination/file.txt
निर्देशिका और उसकी सामग्री कॉपी करना
cp कमांड दर्ज करें जिसके बाद -r (रिकर्सिव) विकल्प हो, और स्रोत और गंतव्य निर्देशिकाओं का पथ हो, एक स्पेस से अलग। संपूर्ण स्रोत निर्देशिका को उसके मूल नाम के साथ गंतव्य निर्देशिका में कॉपी किया जाएगा:
cp -r /path/to/source_directory /path/to/destination_directory
एकाधिक फ़ाइलों या निर्देशिकाओं को कॉपी करना
गंतव्य निर्देशिका में एकाधिक फ़ाइलों को कॉपी करने के लिए, बस उन सभी को स्पेस से अलग करके सूचीबद्ध करें – दिया गया अंतिम पथ गंतव्य माना जाएगा:
cp source_file_1.txt source_file_2.txt path/to/destination_directory
यदि आप -r (रिकर्सिव) विकल्प पास करते हैं तो आप एकाधिक निर्देशिकाओं को कॉपी करते समय भी ऐसा ही कर सकते हैं:
cp -r source_directory_1/ source_directory_2/ /path/to/destination_directory
स्रोत निर्देशिका में सभी फ़ाइलों और निर्देशिकाओं को दूसरी निर्देशिका में कॉपी करने के लिए आप वाइल्डकार्ड (*) का उपयोग कर सकते हैं:
cp -r /path/to/source/* /path/to/destination
एक निश्चित फ़ाइलनाम या एक्सटेंशन वाली फ़ाइलों को कॉपी करना
आप वाइल्डकार्ड (*) का उपयोग करके मिलान करने वाले नाम या एक्सटेंशन वाली फ़ाइलों को कॉपी करने के लिए फ़ाइलनाम मास्क जोड़ सकते हैं। यहां स्रोत निर्देशिका से गंतव्य निर्देशिका में हर JPG छवि को कॉपी करने का तरीका बताया गया है:
cp /path/to/source/*.jpg path/to/source/*.JPG /path/to/destination_directory
एक सिमलिंक फ़ाइल कॉपी करना
सिमलिंक फ़ाइलें वे फ़ाइलें हैं जिनमें डेटा नहीं होता है और डिस्क पर किसी अन्य फ़ाइल का केवल संदर्भ होती हैं। cp कमांड का उपयोग करते समय वे डिफ़ॉल्ट रूप से बाहर रखी जाती हैं। उन्हें शामिल करने के लिए -d विकल्प का उपयोग करें:
cp –d source_file_1.txt /path/to/destination_directory
केवल 7 दिनों से कम पुरानी फ़ाइलों को कॉपी करना
आप cp कमांड को अन्य कमांड के साथ जोड़ सकते हैं ताकि आप जो कॉपी कर रहे हैं उस पर अधिक नियंत्रण हो। यह उदाहरण find कमांड का उपयोग करके उन्हें फ़िल्टर करके, और फिर cp कमांड निष्पादित करके केवल 7 दिनों से कम पुरानी फ़ाइलों को कॉपी करेगा:
find /path/to/files* -mtime -7 -exec cp {} /mnt/nas/ \;
अपनी कॉपी के परिणाम देखना
आप ls कमांड का उपयोग करके गंतव्य निर्देशिका की सामग्री देख सकते हैं:
ls -hl /path/to/destination_directory
निष्कर्ष
फ़ाइलों को कॉपी करना एक आवश्यक दैनिक कार्य है और सिंटैक्स जल्दी ही आपके लिए दूसरी प्रकृति बन जाएगा। अन्य सामान्य Linux कमांड लाइन कार्यों के लिए, हमारे अन्य लेख देखें।