move files and directories in linux - mv command, move or rename, files and directories in linux -17
विषयसूची:
- Mv कमांड के साथ फाइल का नाम बदलना
- Mv कमांड के साथ कई फाइलों का नाम बदलना
- नाम बदलने के साथ फाइलों का नाम बदलना
- निष्कर्ष
फ़ाइलों और निर्देशिकाओं का नाम बदलना सबसे बुनियादी कार्यों में से एक है जिसे आपको अक्सर लिनक्स सिस्टम पर प्रदर्शन करने की आवश्यकता होती है।
एक ही फ़ाइल का नाम बदलना आसान है, लेकिन एक साथ कई फ़ाइलों का नाम बदलना एक चुनौती हो सकती है, खासकर उन उपयोगकर्ताओं के लिए जो लिनक्स पर नए हैं। आप GUI फ़ाइल प्रबंधक का उपयोग करके या कमांड-लाइन टर्मिनल के माध्यम से फ़ाइलों का नाम बदल सकते हैं।
इस ट्यूटोरियल में, हम आपको
mv
और
rename
बदलने के लिए फाइलों और निर्देशिकाओं का नाम
rename
लिए उपयोग करेंगे।
Mv कमांड के साथ फाइल का नाम बदलना
mv
कमांड (चाल से छोटा) का उपयोग फ़ाइलों को एक स्थान से दूसरे स्थान पर बदलने या स्थानांतरित करने के लिए किया जाता है।
mv
कमांड के लिए सिंटैक्स निम्नानुसार है:
mv source destination
source
एक या एक से अधिक फ़ाइलें या निर्देशिकाएं हो सकती हैं और
destination
एकल फ़ाइल या निर्देशिका हो सकती है।
- यदि आप
source
रूप में कई फ़ाइलों को निर्दिष्ट करते हैं, तोdestination
एक निर्देशिका होना चाहिए। इस स्थिति में,source
फ़ाइलों को लक्ष्य निर्देशिका में ले जाया जाता है। यदि आपsource
रूप में एक एकल फ़ाइल निर्दिष्ट करते हैं, औरdestination
लक्ष्य एक मौजूदा निर्देशिका है, तो फ़ाइल को निर्दिष्ट निर्देशिका में ले जाया जाता है। एक फ़ाइल का नाम बदलें जिसे आपको निर्दिष्ट करने की आवश्यकता हैsource
रूप में एकल फ़ाइल, औरdestination
लक्ष्य के रूप में एकल फ़ाइल।
उदाहरण के लिए, फ़ाइल का नाम बदलने के लिए
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 का उपयोग कर सकते हैं।
समीक्षा के साथ अपनी सभी फ़ाइलों और एमपी 3 संगीत का नाम बदलें: बैच फ़ाइल Renamer के साथ अपनी सभी फ़ाइलों और एमपी 3 संगीत का नाम बदलें
यदि आपके पास बहुत सारी तस्वीरें, संगीत हैं या अन्य फाइलें, प्रत्येक व्यक्ति को व्यक्तिगत रूप से नामित करना एक कठिन काम हो सकता है। फ़ाइल Renamer आपको एक ही बार में उनका नाम बदलने की अनुमति देता है।
विंडोज़ में बड़े पैमाने पर नाम या थोक नाम बदलें फ़ाइलों का नाम बदलें
फ़ाइल Renamer बेसिक, थोक नाम बदलें उपयोगिता, फ़ाइल Renamer Turbo, ContextReplace & Advanced Renamer आपके विंडोज पीसी पर बड़े पैमाने पर नाम बदलने या थोक नाम बदलने वाली फ़ाइलों के लिए सबसे अच्छी मुफ्त सुविधाएं हैं।
लिनक्स में नाम बदलें (कई फ़ाइलों का नाम बदलें)
निर्दिष्ट आदेश के साथ उनके नाम में खोज अभिव्यक्ति को बदलकर दिया गया नाम बदलकर दी गई फ़ाइलों का नाम बदल देता है।