Ount ओमाउंट ’को 'अनमाउंट’ क्यों नहीं कहा जाता है?


64

मैं सोच रहा हूं कि कोई ऐतिहासिक या व्यावहारिक कारण है कि umountकमान क्यों नहीं है unmount

जवाबों:


79

यह सभी तरह से यूनिक्स के पहले संस्करण में वापस आता है , जहां सभी मानक फ़ाइल नाम केवल 6 वर्णों (लंबे समय तक passwd) पर ही थे , भले ही इस संस्करण में एक फ़ाइल नाम में 8 वर्णों का समर्थन किया गया था । अधिकांश कमांड्स में एक संबंधित स्रोत फ़ाइल होती है जो समाप्त हो जाती है .c(जैसे umount.c), जो आधार नाम के लिए केवल 6 वर्ण छोड़ती है।

6-वर्ण की सीमा भी पहले के विकास संस्करण से एक होल्डओवर हो सकती है, या एक तत्कालीन आईबीएम प्रणाली से विरासत में मिली थी जिसमें 6-वर्ण सीमा थी। (प्रारंभिक सी कार्यान्वयन की पहचानकर्ताओं पर 6-वर्ण की सीमा थी - लंबे पहचानकर्ता स्वीकार किए जाते थे लेकिन संकलक केवल पहले 6 वर्णों को देखता था, इसलिए foobar1और foobar2समान चर थे।)

(मुझे लगता है कि मुझे एक umountआदमी पृष्ठ याद आया जिसने वर्तनी को अज्ञात मूल के बग के रूप में सूचीबद्ध किया था, लेकिन अब मैं इसे नहीं पा सकता हूं।)


21
6 वर्ण कमांड नाम + .c(या .s) एक्सटेंशन = 8 वर्ण फ़ाइल नाम सीमा।
गीकौसोर

@geekosaur: आह, ठीक है, स्रोत फ़ाइल। यदि आप कोई उत्तर लिखते हैं, तो मैं मेरा डिलीट कर दूंगा।
गाइल्स

5
Enh, अगर आप चाहते हैं तो बस इसे एनोटेट करें।
गीकॉर्स

@geekosaur: मैंने मैन पेज के बारे में सोचा, लेकिन वी 1 में मैन कमांड नहीं था (और मैन पेज में से एक को कहा जाता है directory, जो अभी तक फिट नहीं हुआ है)। तो मुझे आश्चर्य है कि क्यों passwd6 वर्णों को काट दिया गया था ( passwdअभी तक या तो एक आदेश नहीं था , बस /etc/passwd)।
गाइल्स

2
शायद यह ग्रीक प्रत्यय के कारण है, जिसका अर्थ है "नहीं", यह भी समझाएगाurandom
एंथनी गार्सिया

8

ऐसा लगता है कि कुछ गलत सूचनाएँ यहाँ कुछ समय से बैठी हैं।

umountसंक्षिप्त नाम रखने वाले कमांड के लिए सबसे संभावित कारण यह है कि यह सिस्टम कॉल के नाम से आता है जो इसका उपयोग करता है umount():।

संभावित कारण "अनमाउंट" सिस्टम कॉल का नाम umount()है क्योंकि शुरुआती लिंकर्स ने बाहरी पहचानकर्ताओं की लंबाई को कुछ प्रकार के सिस्टम पर 6 वर्णों (केवल एक मामले) तक सीमित कर दिया है (और इस तरह के उपकरणों के साथ संगतता बनाए रखने के लिए समझ में आया। उस समय), और "यूमाउंट" "अनमाउंट" के लिए संक्षिप्त नाम का एक तार्किक रूप है। प्रकाशन के समय ब्याज की विभिन्न प्रणालियों की बाहरी पहचानकर्ता विशेषताओं की एक सूची के लिए सी प्रोग्रामिंग भाषा के पहले संस्करण का पृष्ठ 179 देखें ।

यह भी ध्यान दें कि शुरुआती सी कंपाइलरों ने एक पहचानकर्ता के पहले 8 पात्रों को महत्वपूर्ण माना, लेकिन पहचानकर्ताओं को लंबे समय तक रहने दिया। (K & R पेज 33)

ध्यान दें कि प्रतीक टेबलों में पहचानकर्ताओं की लंबाई कुछ भी नहीं है जो सीधे फाइलनाम की लंबाई के साथ करना है, कम से कम यूनिक्स के भीतर नहीं है (यूनिक्स प्रतीक टेबल, वी 1 के बाद से, पहचानकर्ताओं के लिए 8 वर्ण हैं, हालांकि यह वी 1 मैनुअल में उल्लेख किया गया है कि कोडांतरक " अधिकतम 7 बाइट्स " ) के प्रतीक उत्पन्न करता है


-1

उसी कारण से creatसिस्टम कॉल वर्तनी नहीं है create?

https://stackoverflow.com/questions/1713457/what-did-ken-thompson-mean-when-he-said-id-spell-create-with-an-e


4
नहीं। आपके द्वारा संदर्भित उद्धरण में खेद इसलिए है क्योंकि वे अन्य उत्तर में 6 वर्ण सीमा के तर्क के बावजूद भी 'ई' जोड़ सकते थे। ऑमाउंट के विपरीत, वास्तव में इसे छोटा करने का कोई अच्छा कारण नहीं है।
वॉरेन यंग

मैं उस समय तक यह अनुमान लगा रहा हूं कि यदि आप कर सकते हैं तो पत्रों को काट देना परंपरा थी।
शादुर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.