विभिन्न "नाम बदलें" आदेशों के बीच अंतर क्या है?


13

Ubuntu 14.04 के बाद से कम से कम तीन renameआदेश हैं:

  1. renameutil-linuxपैकेज द्वारा प्रदान किया गया है, आदमी का नाम बदलें देखें
  2. renameperlपैकेज द्वारा प्रदान किया गया है, आदमी को देखें
  3. renamerenameपैकेज द्वारा प्रदान किया गया , मैन फाइल-नाम बदलें

प्रशन:

  • वास्तव में उन आदेशों के बीच अंतर क्या हैं?
  • एक ही नाम का उपयोग करके विभिन्न पैकेज प्रदान करने वाले कई पैकेज कैसे आते हैं - मुझे लगता है कि यह कोई दुर्घटना नहीं है, या यह है?
  • क्या यह perlपैकेज के लिए सीधा नहीं होगा या तो "पूर्ण" renameकमांड को शामिल करें या किसी भी renameकमांड को शामिल न करें ? यह कम से कम Ubuntu 17.04 तक निरंतर रूप से अपूर्ण विभाजन क्यों प्रतीत होता है?

यह प्रश्न पहले से ही U & L (जैसा कि मुझे बाद में पता चला) पर पूछा गया है:
सभी नामों में क्या है: prename, rename, file-rename?

जवाबों:


8

एक ही नाम (यदि दुर्घटना से नहीं) का उपयोग करके विभिन्न आदेश प्रदान करने वाले दो पैकेज कैसे आते हैं?

यह असामान्य नहीं है। लेखक आमतौर पर सबसे सरल कमांड का नाम लेते हैं, जिसके बारे में वे सोचते हैं, इसलिए यदि दो लोग फ़ाइलों का नाम बदलने के लिए एक कमांड लिखते हैं, तो संभावना है कि वे दोनों इसे नाम देंगे rename। यह डेबियन अल्टरनेटिव सिस्टम के पीछे के कारणों में से एक है - यह संकुल को समान रूप से नामित कमांड प्रदान करने की अनुमति देता है, और दूसरे को बदलने के लिए एक पैकेज के लिए। उदाहरण के लिए, एक से अधिक AWK कार्यान्वयन हैं - mawk, original-awk, gawk(awk रूप में यद्यपि वे सब खुद को देखें)। विकल्प प्रणाली के साथ, आप उन सभी को एक ही समय में स्थापित कर सकते हैं, और डिफ़ॉल्ट रूप से उनमें से किसी के बीच आसानी से स्विच कर सकते हैं awk

इस विशिष्ट मामले में, prenameपर्ल स्रोत कोड से आता है। Debian पैकेज देखरेख मूल रूप से किया था renameपर्ल एक है, तो विकल्प प्रणाली का प्रयोग किया, समायोजित करने के लिए हो सकता है renameसे util-linux। तब किसी ने फाइल-रिनेम पर्ल मॉड्यूलrename में पर्ल के बेहतर संस्करण को लिखा , जिसे तब दूसरे विकल्प के रूप में जोड़ा गया। लेकिन यह भी फ़ाइलों का नाम बदलने के लिए केवल पर्ल मॉड्यूल नहीं है।

क्या यह perlपैकेज के लिए सीधा नहीं होगा या तो "पूर्ण" renameकमांड को शामिल करें या किसी भी renameकमांड को शामिल न करें ? यह कम से कम Ubuntu 17.04 तक निरंतर रूप से अपूर्ण विभाजन क्यों प्रतीत होता है?

यह स्थिति कैसे विकसित हुई, इसके लिए डेबियन बग # 735134 देखें । डेबियन अनुरक्षक आम तौर पर कम से कम एक रिलीज पर जाना पसंद करते हैं, जब कुछ कठोर करते हैं, जैसे कि दूसरे के साथ काम करने वाले कमांड को बदलना। prenameजेसी के लिए चारों ओर रखा गया था, और अब बस्टर के लिए हटा दिया गया है। इसके अलावा, ऐसा लगता है कि renameअब विकल्प प्रणाली के तहत नहीं होगा, चूंकि rename.ulबहुत असंगत है। renameबस हो जाएगा file-rename

चूंकि उबंटू आम तौर पर डेबियन से पैकेजिंग में बदलाव करता है, इसलिए डेबियन में जो होता है renameवह उबंटू द्वारा जल्द या बाद में उठाया जाएगा, शायद 18.04 में। 17.10 के लिए बहुत देर हो चुकी है।

वास्तव में उन आदेशों के बीच अंतर क्या हैं?

मौलिक रूप से, दोनों prenameऔर file-renameफ़ाइलों का नाम बदलने के लिए पर्ल अभिव्यक्तियाँ चलाते हैं। file-renameबस सक्रिय रूप से बनाए रखा है और अधिक विकल्पों का समर्थन करता है। renameसे util-linuxपूरी तरह से अलग काम करता है, पैटर्न के लिए अपने स्वयं के नियम हैं।


से man prename17.10 के लिए , यह वास्तव में लेने की थी 17.10 की तरह लग रहा file-renameहै के बजाय prename18.04 के लिए समान ।
वेजेंड्रिया
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.