मैंने यूनिक्स प्रोग्रामिंग पर्यावरण , कार्निघन और पाइक की क्लासिक पुस्तक यूनिक्स पर निम्नलिखित प्रश्न का सामना किया है (मुझे 1984 के संस्करण के 79 पृष्ठ पर नीचे का लेख मिला, आईएसबीएन: 0-13-937699-2)।
3-6 व्यायाम करें। (ट्रिक प्रश्न) आपको फ़ाइल नाम में (/ a) पथ के अलग-अलग घटकों को कैसे नहीं मिलता है?
मैं वर्षों से लिनक्स पर काम कर रहा था, एंड-यूज़र और प्रोग्रामर दोनों के रूप में, लेकिन मैं इस सवाल का जवाब नहीं दे सकता। फ़ाइलनाम में स्लैश डालने का कोई तरीका नहीं है , यह कर्नेल द्वारा बिल्कुल निषिद्ध है। आप अपने फ़ाइल सिस्टम को ब्लॉक डिवाइस एक्सेस के माध्यम से पैच कर सकते हैं, या यूनिकोड से समान दिखने वाले अक्षरों का उपयोग कर सकते हैं, लेकिन वे समाधान नहीं हैं।
मैं समझता हूं कि लिनक्स, यूनिक्स, लेकिन एक ही सिद्धांत लागू होना चाहिए, क्योंकि सिस्टम को पथ से अव्यवस्थित निर्देशिका पदानुक्रम निकालने में सक्षम होना चाहिए।
क्या किसी को पता है, इस सवाल को पूछने पर वास्तव में कार्निघन और पाइक ने क्या सोचा था? क्या माना जवाब था? वास्तव में exactly ट्रिक ’क्या है? या शायद मूल यूनिक्स प्रणाली ने किसी तरह इस स्लैश से बचने की अनुमति दी?
युपीडी:
मैंने इस सवाल के बारे में ब्रायन कर्निघन से संपर्क किया और उन्होंने जवाब दिया:
जवाब है (या था) "आप नहीं कर सकते।"
इसलिए, टिमोथी मार्टिन सही था और उसे हरी टिक मिलती है।
a
और अपने सिस्टम को सोचने में मजबूर करें कि एक EBCDIC लोकेल में फाइलसिस्टम है? ASCII a
0x61 है, जो /
EBCDIC (कोड पेज 37) से मेल खाती है