सवाल विंडोज पथ और यूनिक्स आगे स्लैश के लिए बैकस्लाश का उपयोग क्यों करता है?


यह मुझे कॉलेज में यूनिक्स का उपयोग करने और विंडोज पक्ष पर काम करने से परेशान करता है। इस फैसले के पीछे इतिहास क्या है? किसी को पता है कि यह इस तरह से क्यों काम किया?


83
2017-08-16 13:37


मूल


स्लैश बनाम बैकस्लैश निर्देशिका विभाजक के रूप में - किसने / किसने इस झुकाव का कारण बनाया? - phuclv


जवाब:


यूनिक्स पेश किया गया / 1 9 70 के आसपास कभी-कभी निर्देशिका विभाजक के रूप में। मुझे नहीं पता कि यह बिल्कुल सही चरित्र क्यों चुना गया था; पूर्वजों प्रणाली बहुविकल्पीय इस्तेमाल किया >, लेकिन यूनिक्स के डिजाइनर पहले ही इस्तेमाल कर चुके थे > के साथ साथ < खोल में पुनर्निर्देशन के लिए (देखें एक द्वारा रूट रूट निर्देशिका क्यों है / संकेत?)।

MS-DOS 2.0 पेश किया गया \ 1 9 80 के दशक की शुरुआत में निर्देशिका विभाजक के रूप में। कारण / इसका उपयोग नहीं किया गया था कि एमएस-डॉस 1.0 (जो निर्देशिकाओं का समर्थन नहीं करता था) पहले से ही उपयोग कर रहा था / कमांड लाइन विकल्पों को पेश करने के लिए। इसने इसका उपयोग किया / से CP / M, जो इसे से लिया वीएमएस। आप इस विकल्प को क्यों चुना गया था, इस बारे में एक और गहन स्पष्टीकरण पढ़ सकते हैं लैरी ओस्टर्मन के ब्लॉग पर (एमएस-डॉस ने संक्षिप्त रूप से विकल्प चरित्र को बदलने का विकल्प भी दिया था - और निर्देशिका विभाजक को /, लेकिन यह छड़ी नहीं थी)।

/ यह अधिकांश प्रोग्रामर-स्तरीय एपीआई (डॉस और विंडोज़ के सभी संस्करणों में) द्वारा पहचाना जाता है। तो आप अक्सर उपयोग कर सकते हैं, लेकिन हमेशा उपयोग करने से दूर नहीं हो सकते हैं / विंडोज के तहत एक निर्देशिका विभाजक के रूप में। एक उल्लेखनीय अपवाद है कि आप उपयोग नहीं कर सकते / के बाद एक विभाजक के रूप में \\? उपसर्ग जो (विंडोज 7 में भी) यूनिकोड का उपयोग करके पथ निर्दिष्ट करने का एकमात्र तरीका है या इसमें 260 से अधिक वर्ण हैं।

कुछ उपयोगकर्ता इंटरफेस तत्वों का समर्थन करते हैं / विंडोज के तहत एक निर्देशिका विभाजक के रूप में, लेकिन सभी नहीं। कुछ प्रोग्राम केवल अंतर्निहित एपीआई के माध्यम से फ़ाइल नाम पास करते हैं, इसलिए वे समर्थन करते हैं / तथा \ उदासीनता। आदेश दुभाषिया में (में command.com या cmd), आप उपयोग कर सकते हैं / कई मामलों में, लेकिन हमेशा नहीं; यह आंशिक रूप से विंडोज के संस्करण पर निर्भर है (उदाहरण के लिए, cd /windows एक्सपी और 7 में काम करता है लेकिन विंडोज 9एक्स में नहीं था)। एक्सप्लोरर पथ प्रविष्टि बॉक्स स्वीकार करता है / (कम से कम एक्सपी अप से; शायद क्योंकि यह यूआरएल भी स्वीकार करता है)। दूसरी ओर, मानक फ़ाइल खुला संवाद स्लेश को खारिज कर देता है


97
2017-08-16 14:02



/ एमएस-डॉस या विंडोज कमांड लाइन द्वारा निर्देशिका विभाजक के रूप में पहचाना जाता है। - Tom Wijsman
"सी: \ विंडोज \ System32> सीडी / विंडोज / सिस्टम" काम करता है। - Andrew J. Brehm
@ टॉमविज: क्या आपके पास एक संदर्भ है जहां सटीक है / कमांड लाइन पर स्वीकार किया जाता है? उदाहरण के लिए, क्या करता है dir /p करना? तथा dir c:/p? तथा c:/windows/notepad.exe? तथा start /windows/notepad.exe? आदि (मेरे पास परीक्षण करने के लिए यहां एक विंडोज मशीन नहीं है।) - Gilles
/ संभवतः यूनिक्स में निर्देशिका विभाजक के रूप में उपयोग किया गया था क्योंकि यह टेलीलेट पर हमला करने के लिए एक आसान (अप्रशिक्षित) कुंजी थी। निर्विवाद विशेष पात्र थे : - ; , . /। - Daniel R Hicks
दिलचस्प बात यह है कि मैंने हाल ही में डॉस 1 और 2 स्रोतों और मैनुअल के माध्यम से खोला और पता चला कि माइक्रोसॉफ्ट का इस्तेमाल किया गया था / (तथा - स्विच के लिए) ज़ेनिक्स की तरह, और ज़ेनिक्स द्वारा प्रेरित, लेकिन माइक्रोसॉफ्ट ने माइक्रोसॉफ्ट को OEM को भेज दिया, और आईबीएम इस्तेमाल किया ` (and / `स्विच के लिए) और से प्रॉम्प्ट बदल दिया A: सेवा मेरे A> इसलिए उन्होंने डिफ़ॉल्ट और भेज दिया छोटी गाड़ी बदल दी (अभी भी मानते हैं //-) दस्तावेज प्लस एक नोट है कि यह बदला गया था और क्यों। - mirabilos


अंतर्निहित विंडोज एपीआई अलग-अलग निर्देशिका और पथ के फाइल घटकों को बैकस्लैश या स्लैश स्वीकार कर सकते हैं, लेकिन माइक्रोसॉफ्ट कन्वेंशन बैकस्लैश का उपयोग करना है, और एपीआई जो पथ को बैकस्लैश डालते हैं।

एमएस-डॉस 2.0 यूनिक्स से पदानुक्रमित फ़ाइल सिस्टम की प्रतिलिपि बनाई और इस प्रकार आगे की स्लैश का उपयोग किया, लेकिन (संभवतः आग्रह पर आईबीएम) बैकस्लैश जोड़ा गया ताकि संगतता बनाए रखने के दौरान पथ को कमांड खोल में टाइप किया जा सके एमएस-डॉस 1.0 तथा CP / M जहां स्लैश कमांड लाइन विकल्प संकेतक था।

तुलना

dir/w

जो मौजूदा प्रारूप को व्यापक प्रारूप में दिखाता है

dir\w

जो चलाता है w निर्देशक में फ़ाइल dir

संदर्भ:


9
2017-08-16 13:52