उन्नत प्रतिलिपि - Linux में फ़ाइलों की प्रतिलिपि बनाते समय प्रगति दिखाता है


एडवांस्ड-कॉपी एक शक्तिशाली कमांड लाइन प्रोग्राम है जो बहुत हद तक समान है, लेकिन मूल cp कमांड और mv टूल्स का थोड़ा संशोधित संस्करण है।

Cp कमांड का यह संशोधित संस्करण बड़ी फ़ाइलों को एक स्थान से दूसरे स्थान पर कॉपी करते समय पूरा होने में लगने वाले कुल समय के साथ एक प्रगति बार जोड़ता है।

यह अतिरिक्त सुविधा विशेष रूप से बड़ी फ़ाइलों की प्रतिलिपि बनाते समय बहुत उपयोगी होती है, और यह उपयोगकर्ता को प्रतिलिपि प्रक्रिया की स्थिति और इसे पूरा होने में कितना समय लगता है, के बारे में एक विचार देती है।

लिनक्स में उन्नत-कॉपी कमांड स्थापित करें

लिनक्स सिस्टम में एडवांस्ड-कॉपी यूटिलिटी को स्थापित करने का एकमात्र तरीका निम्नलिखित सिंगल कर्ल कमांड का उपयोग करके स्रोतों से निर्माण करना है, जो कोरुटिल को डाउनलोड, पैच, संकलित करेगा और फाइलें उत्पन्न करेगा: ./advcpmv/advcp और ./advcpmv/advmv

# curl https://raw.githubusercontent.com/jarun/advcpmv/master/install.sh --create-dirs -o ./advcpmv/install.sh && (cd advcpmv && sh install.sh)

स्थापना प्रक्रिया के दौरान आपको निम्न त्रुटि मिल सकती है।

checking whether mknod can create fifo without root privileges... configure: error: in `/root/advcpmv/coreutils-9.1':
configure: error: you should not run configure as root (set FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check)
See `config.log' for more details

उस त्रुटि को ठीक करने के लिए टर्मिनल पर निम्न कमांड चलाएँ और फिर से कर्ल कमांड चलाएँ।

# export FORCE_UNSAFE_CONFIGURE=1
# curl https://raw.githubusercontent.com/jarun/advcpmv/master/install.sh --create-dirs -o ./advcpmv/install.sh && (cd advcpmv && sh install.sh)

एक बार, स्थापना पूर्ण हो जाने पर, ./advcpmv/advcp और ./advcpmv/advmv के अंतर्गत दो नए आदेश बनाए जाते हैं। फ़ाइलों की प्रतिलिपि बनाते समय प्रगति पट्टी प्राप्त करने के लिए आपको अपने मूल cp और mv आदेशों को इन दो नए आदेशों से बदलने की आवश्यकता है।

# mv ./advcpmv/advcp /usr/local/bin/cp
# mv ./advcpmv/advmv /usr/local/bin/mv

नोट: यदि आप इन आदेशों को मानक सिस्टम पथों के अंतर्गत कॉपी नहीं करना चाहते हैं, तब भी आप उन्हें ./advcpmv/advcp और ./advcpmv/advmv जैसी स्रोत निर्देशिका से चला सकते हैं या दिखाए गए अनुसार नई कमांड बना सकते हैं।

# mv ./advcpmv/advcp /usr/local/bin/cpg
# mv ./advcpmv/advmv /usr/local/bin/mvg

फ़ाइलें और निर्देशिकाएँ कॉपी करते समय प्रगति बार दिखाएं

यदि आप चाहते हैं कि फ़ाइलों और निर्देशिकाओं की प्रतिलिपि बनाते समय प्रगति पट्टी हर समय दिखाई दे, तो आपको अपनी ~/.bashrc फ़ाइल में निम्नलिखित पंक्तियों को जोड़ना होगा।

# echo alias cp '/usr/local/bin/advcp -g' >> ~/.bashrc
# echo alias mv '/usr/local/bin/advmv -g' >> ~/.bashrc

इसे ठीक से काम करने के लिए आपको फिर से लॉग आउट और लॉग इन करना होगा।

लिनक्स में एडवांस्ड-कॉपी कमांड का उपयोग कैसे करें

कमांड वही है, केवल परिवर्तन cp कमांड के साथ \-g या \-प्रोग्रेस-बार विकल्प जोड़ रहा है। -R विकल्प निर्देशिकाओं को पुनरावर्ती रूप से कॉपी करने के लिए है।

यहां उन्नत कॉपी कमांड का उपयोग करके कॉपी प्रक्रिया के उदाहरण स्क्रीन-शॉट दिए गए हैं।

# cp -gR ubuntu-20.04.3-desktop-amd64.iso /home/tecmint/
OR
# cp -R --progress-bar ubuntu-20.04.3-desktop-amd64.iso /home/tecmint/

यहाँ स्क्रीनशॉट के साथ 'mv' कमांड का उदाहरण दिया गया है।

# mv --progress-bar Songs/ /data/
OR
# mv -g Songs/ /data/

कृपया याद रखें, यदि आपको कभी भी उनका उपयोग करने की आवश्यकता होती है या आप नई प्रगति पट्टी से खुश नहीं हैं और मूल cp और mv कमांड पर वापस लौटना चाहते हैं, तो मूल कमांड ओवरराइट नहीं किए जाते हैं। आप उन्हें /usr/bin/cp या /usr/bin/mv के माध्यम से कॉल कर सकते हैं।

मैं वास्तव में इस नई प्रगति बार सुविधा से प्रभावित हूं, कम से कम मुझे कॉपी ऑपरेशन समय और वास्तव में क्या चल रहा है, इसके बारे में कुछ जानकारी होगी।

शायद तुम्हे यह भी अच्छा लगे:

  • लिनक्स में फ़ाइलों और निर्देशिकाओं की प्रतिलिपि कैसे करें [14 cp कमांड उदाहरण]
  • 'pv' कमांड का उपयोग करके (कॉपी/बैकअप/कंप्रेस) डेटा की प्रगति की निगरानी कैसे करें

कुल मिलाकर मैं कह सकता हूं, यह आपकी जेब में रखने के लिए वास्तव में एक अच्छा टूल है, खासकर जब आप कमांड लाइन के माध्यम से फ़ाइलों को कॉपी करने और स्थानांतरित करने में बहुत समय व्यतीत कर रहे हों।