एंड्रॉयड

कैसे लिनक्स में फ़ाइलों और निर्देशिकाओं का नाम बदलें

move files and directories in linux - mv command, move or rename, files and directories in linux -17

move files and directories in linux - mv command, move or rename, files and directories in linux -17

विषयसूची:

Anonim

फ़ाइलों और निर्देशिकाओं का नाम बदलना सबसे बुनियादी कार्यों में से एक है जिसे आपको अक्सर लिनक्स सिस्टम पर प्रदर्शन करने की आवश्यकता होती है।

एक ही फ़ाइल का नाम बदलना आसान है, लेकिन एक साथ कई फ़ाइलों का नाम बदलना एक चुनौती हो सकती है, खासकर उन उपयोगकर्ताओं के लिए जो लिनक्स पर नए हैं। आप GUI फ़ाइल प्रबंधक का उपयोग करके या कमांड-लाइन टर्मिनल के माध्यम से फ़ाइलों का नाम बदल सकते हैं।

इस ट्यूटोरियल में, हम आपको mv और rename बदलने के लिए फाइलों और निर्देशिकाओं का नाम rename लिए उपयोग करेंगे।

Mv कमांड के साथ फाइल का नाम बदलना

mv कमांड (चाल से छोटा) का उपयोग फ़ाइलों को एक स्थान से दूसरे स्थान पर बदलने या स्थानांतरित करने के लिए किया जाता है। mv कमांड के लिए सिंटैक्स निम्नानुसार है:

mv source destination

source एक या एक से अधिक फ़ाइलें या निर्देशिकाएं हो सकती हैं और destination एकल फ़ाइल या निर्देशिका हो सकती है।

  • यदि आप source रूप में कई फ़ाइलों को निर्दिष्ट करते हैं, तो destination एक निर्देशिका होना चाहिए। इस स्थिति में, source फ़ाइलों को लक्ष्य निर्देशिका में ले जाया जाता है। यदि आप source रूप में एक एकल फ़ाइल निर्दिष्ट करते हैं, और destination लक्ष्य एक मौजूदा निर्देशिका है, तो फ़ाइल को निर्दिष्ट निर्देशिका में ले जाया जाता है। एक फ़ाइल का नाम बदलें जिसे आपको निर्दिष्ट करने की आवश्यकता है source रूप में एकल फ़ाइल, और destination लक्ष्य के रूप में एकल फ़ाइल।

उदाहरण के लिए, फ़ाइल का नाम बदलने के लिए file1.txt को file2.txt रूप में फिर से चलाएं:

mv file1.txt file2.txt

Mv कमांड के साथ कई फाइलों का नाम बदलना

mv कमांड एक समय में केवल एक फ़ाइल का नाम बदल सकता है लेकिन इसका उपयोग अन्य कमांड्स के साथ संयोजन के रूप में किया जा सकता है जैसे कि कई फ़ाइलों का नाम बदलने के लिए लूप के लिए या अंदर find

निम्न उदाहरण दिखाता है कि कैसे। पाश के लिए बैश का उपयोग करने के लिए। .html एक्सटेंशन को .php बदलकर वर्तमान निर्देशिका में सभी .html फ़ाइलों का नाम बदलें।

for f in *.html; do mv -- "$f" "${f%.html}.php" done

चलो लाइन द्वारा कोड लाइन का विश्लेषण करते हैं:

  • पहली पंक्ति लूप के लिए बनाता है और .html साथ .html सभी फ़ाइलों की सूची के माध्यम से पुनरावृति करता है। दूसरी पंक्ति सूची के प्रत्येक आइटम पर लागू होती है और फ़ाइल को .php साथ एक नए स्थान पर। .html ले जाती है। भाग ${file%.html} शेल पैरामीटर विस्तार का उपयोग कर रहा है। Filename.done से .html भाग को हटाने के लिए लूप खंड के अंत का संकेत देता है।

हम mv कमांड का उपयोग ऊपर के समान प्राप्त करने के लिए संयोजन के साथ भी कर सकते हैं।

find. -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.php"' ;

खोज कमांड सभी फ़ाइलों के साथ समाप्त हो रही है। वर्तमान निर्देशिका में। .html को mv कमांड में एक-एक करके स्विच का उपयोग करके। स्ट्रिंग {} वर्तमान में संसाधित की जा रही फ़ाइल का नाम है।

जैसा कि आप ऊपर दिए गए उदाहरणों से देख सकते हैं, mv कमांड का उपयोग करके कई फ़ाइलों का नाम बदलना एक आसान काम नहीं है क्योंकि इसके लिए बैश स्क्रिप्टिंग के अच्छे ज्ञान की आवश्यकता होती है।

नाम बदलने के साथ फाइलों का नाम बदलना

rename आदेश का उपयोग कई फ़ाइलों का नाम बदलने के लिए किया जाता है। यह कमांड mv तुलना में अधिक उन्नत है क्योंकि इसमें नियमित रूप से कुछ बुनियादी ज्ञान की आवश्यकता होती है।

अलग-अलग सिंटैक्स के साथ rename कमांड के दो संस्करण हैं। इस ट्यूटोरियल में, हम rename कमांड के पर्ल संस्करण का उपयोग करेंगे। यदि आपके पास यह संस्करण आपके सिस्टम पर स्थापित नहीं है, तो आप अपने वितरण के पैकेज मैनेजर का उपयोग करके इसे आसानी से स्थापित कर सकते हैं।

  • उबंटू और डेबियन पर नाम बदलें

    sudo apt install rename

    CentOS और Fedora पर नाम बदलें

    sudo yum install prename

    आर्क लिनक्स पर नाम बदलें

    yay perl-rename ## or yaourt -S perl-rename

rename कमांड का सिंटैक्स निम्नानुसार है:

rename perlexpr files

rename बदलकर निर्दिष्ट निर्दिष्ट नियमित अभिव्यक्ति के अनुसार सभी files नाम perlexpr । आप यहाँ नियमित अभिव्यक्ति के बारे में जान सकते हैं।

उदाहरण के लिए, निम्न कमांड एक्सटेंशन वाली सभी फाइलों को .html से .php बदल देगा:

rename 's/.html/.php/' *.html

आप फ़ाइलों का नाम प्रिंट करने के लिए -n तर्क का उपयोग कर सकते हैं, उनका नाम बदले बिना।

rename -n 's/.html/.php/' *.html

आउटपुट कुछ इस तरह दिखाई देगा:

rename(file-90.html, file-90.php) rename(file-91.html, file-91.php) rename(file-92.html, file-92.php) rename(file-93.html, file-93.php) rename(file-94.html, file-94.php)

डिफ़ॉल्ट रूप से, नाम बदलें मौजूदा फ़ाइलों को अधिलेखित नहीं करेगा। मौजूदा फ़ाइलों को ओवर-लिखित होने की अनुमति देने के लिए -f तर्क पास करें।

rename -f 's/.html/.php/' *.html

नीचे कुछ और सामान्य उदाहरण दिए गए हैं कि कैसे नाम बदलें कमांड का उपयोग करें:

  • अंडरस्कोर के साथ फ़ाइल नाम में रिक्त स्थान बदलें

    rename 'y/ /_/' *

    फ़ाइल नाम को लोअरकेस में बदलें

    rename 'y/AZ/az/' *

    फ़ाइल नाम को अपरकेस में बदलें

    rename 'y/az/AZ/' *

निष्कर्ष

अब तक आपको फ़ाइलों का नाम rename लिए mv और rename आदेश का उपयोग करने की अच्छी समझ होनी चाहिए। बेशक, लिनक्स में फ़ाइलों का नाम बदलने के लिए अन्य कमांड हैं जैसे कि mmv । नए लिनक्स उपयोगकर्ता जो कमांड लाइन से भयभीत हैं, वे GUI बैच का नाम बदलें जैसे कि Métamorphose का उपयोग कर सकते हैं।

नाम बदलकर एमवी टर्मिनल