मुखपृष्ठ » कैसे » लिनक्स में एक कमांड के साथ मल्टीपल डिरेक्टरी में फाइल कॉपी कैसे करें

    लिनक्स में एक कमांड के साथ मल्टीपल डिरेक्टरी में फाइल कॉपी कैसे करें

    लिनक्स कमांड लाइन के साथ फाइल कॉपी करना आसान है। हालाँकि, यदि आप एक ही फाइल को कई अलग-अलग स्थानों पर कॉपी करना चाहते हैं, तो क्या होगा? यह भी आसान है, और हम आपको दिखाएंगे कि एक कमांड के साथ ऐसा कैसे करें.

    आम तौर पर, एक फ़ाइल की प्रतिलिपि बनाने के लिए, आप इसका उपयोग करेंगे cp आदेश, स्रोत फ़ाइल और गंतव्य निर्देशिका से लिंक करना:

    cp ~ / दस्तावेज / FileToBeCopied.txt ~ / TextFiles /

    इसे दो और निर्देशिकाओं में कॉपी करने के लिए, कई लोग केवल दो बार और कमांड को अलग-अलग गंतव्य के साथ चलाएंगे:

    cp ~ / दस्तावेज / FileToBeCopied.txt ~ / Dropbox /
    cp ~ / दस्तावेज / FileToBeCopied.txt / मीडिया / लोरी / MYUSBDRIVE /

    हालाँकि, हम एक कमांड के साथ एक ही कार्य कर सकते हैं:

    गूंज dir1 dir2 dir3 | xargs -n 1 cp file1

    यहां बताया गया है कि यह कमांड कैसे काम करता है। गूंज कमांड सामान्य रूप से स्क्रीन पर लिखता है। हालाँकि, इस मामले में, हम के आउटपुट को खिलाना चाहते हैं गूंज के इनपुट के रूप में कमांड करें xargs आदेश। ऐसा करने के लिए, हम पाइप प्रतीक का उपयोग करते हैं ( | ) जो आउटपुट को एक कमांड से दूसरे इनपुट के रूप में फीड करता है। xargs कमांड चलेगा cp तीन बार कमांड करें, हर बार अगली निर्देशिका पथ को जोड़कर इसमें से पाइप किया गया गूंज के अंत में कमान cp आदेश। इसमें तीन तर्क दिए जा रहे हैं xargs , लेकिन वो -एन १ पर विकल्प xargs कमांड यह बताता है कि एक बार में उन तर्कों में से किसी एक को जोड़ना है cp इसे चलाने के लिए हर बार कमांड दें.

    इसलिए, पहले से हमारे उदाहरण के साथ रहने के लिए, तीनों अलग हो जाते हैं cp उपरोक्त आदेशों को इस तरह एक कमांड में जोड़ा जा सकता है:

    इको ~ / टेक्स्टफाइल्स / ~ / ड्रॉपबॉक्स / मीडिया / लोरी / MYUSBDRIVE | xargs -n 1 cp ~ / दस्तावेज़ / FileToBeCopied.txt

    ध्यान दें कि यदि कॉपी की जा रही फ़ाइल निर्दिष्ट गंतव्य निर्देशिकाओं में से किसी में मौजूद है, तो उस गंतव्य की फ़ाइल स्वचालित रूप से बदल दी जाएगी। यदि आप फ़ाइल को बदलना चाहते हैं तो आपसे नहीं पूछा जाएगा। (आम तौर पर, जब आप का उपयोग करें cp फ़ाइल को किसी एक स्थान पर कॉपी करने के लिए, आप जोड़ सकते हैं -मैं यह पूछने का विकल्प कि क्या आप किसी मौजूदा फ़ाइल को बदलना चाहते हैं। हालांकि -मैं विकल्प एक संवादात्मक विकल्प है (यह कारण बनता है cp उपयोगकर्ता से इनपुट के लिए पूछने के लिए कमांड) और आप के साथ एक इंटरैक्टिव विकल्प का उपयोग नहीं कर सकते cp जब इसके साथ संयोजन का उपयोग कर कमांड xargs .)

    विचार करने के लिए एक और बात यह है कि यदि आप एक बहुत बड़ी फ़ाइल की प्रतिलिपि बना रहे हैं, तो आप नो-क्लोबर्स जोड़ना चाह सकते हैं ( -n ) का विकल्प cp ऊपर एकल कमांड में कमांड। यह विकल्प स्वचालित रूप से किसी फ़ाइल को गंतव्य में अधिलेखित होने से रोकता है यदि यह पहले से ही वहां मौजूद है। यदि आप किसी नेटवर्क पर बहुत बड़ी फ़ाइल कॉपी कर रहे हैं, तो यह धीमा हो सकता है और आप फ़ाइल को कॉपी और बदलने के लिए आवश्यक संसाधनों का उपयोग करने से बचना चाह सकते हैं। निम्न कमांड जोड़ता है -n विकल्प, और उस फ़ाइल को प्रतिध्वनि के बयान में सूचीबद्ध किसी भी गंतव्य पर कॉपी नहीं करेगा, यदि फ़ाइल उस गंतव्य में पहले से मौजूद है.

    इको ~ / टेक्स्टफाइल्स / ~ / ड्रॉपबॉक्स / मीडिया / लोरी / MYUSBDRIVE | xargs -n 1 cp -n ~ / दस्तावेज़ / FileToBeCopied.txt

    इनमें से किसी भी कमांड के बारे में अधिक जानकारी के लिए आदमी इको, मैन xargs, या लिनक्स में कमांड लाइन पर आदमी cp टाइप करें.