NTFS केस संवेदनशील क्यों है?


24

मैंने व्यक्तिगत रूप से सोचा था कि NTFS असंवेदनशील था, क्योंकि आप cmd, CMD, cMd या CmD टाइप कर सकते हैं और फिर भी कमांड प्रॉम्प्ट प्राप्त कर सकते हैं। हालाँकि, ऐसा क्यों है कि CHKDSK x: /f /rकभी-कभी, यह कुछ फ़ाइलों में पूंजीकरण को ठीक करता है? यदि यह मामले की परवाह नहीं करता है, तो इसके बारे में कोई बात नहीं होनी चाहिए, और CHKDSK की जाँच नहीं होनी चाहिए कि क्या यह वास्तव में CMD या cmd है। क्या मैं सही हू? यह वास्तव में फ़ाइल सिस्टम में कहां मायने रखता है?


25
ध्यान दें कि "केस-सेंसिटिव" और "केस-प्रोटेक्शन" दो अलग-अलग चीजें हैं। NTFS केस-संरक्षण है लेकिन Win32 नामस्थान में केस-असंवेदनशील है, लेकिन POSIX नामस्थान में केस-संवेदी हो सकता है।
grawity

जवाबों:


34

फ़ाइल सिस्टम की केस सेंसिटिविटी ऑपरेटिंग सिस्टम की एक अलग समस्या है। नवीनतम विंडोज रिलीज एनटी कर्नेल पर आधारित होते हैं, जो गैर-एनटी विंडोज 95 और यहां तक ​​कि एमएस-डॉस के बहुत सारे गुणों को प्राप्त करते हैं। NT कर्नेल के साथ, फाइल सिस्टम, NTFS, केस सेंसिटिव होने के लिए डिज़ाइन किया गया था - POSIX का अनुपालन होना ।

हालाँकि, Win32 सबसिस्टम फ़ाइल नामों का समर्थन नहीं करता है जो केवल केस सेंसिटिविटी से भिन्न होते हैं, उन फ़ाइलों को निचले स्तर के सिस्टम कॉल के साथ बनाना संभव है।


1
मुझे विंडोज में ऐसी फ़ाइलों को बनाने का एक आसान तरीका पता नहीं है। हालाँकि, CreateFile () API को FILE_FLAG_POSIX_SEMANTICS के साथ कॉल करने से प्रोग्राम को काम करना चाहिए।
फ्रैंक

2
@Luke: Win32 केस संवेदी फ़ाइलों का समर्थन नहीं करता है। YOu को OS सबसिस्टम में API कॉल करना होगा। osronline.com/article.cfm?id=91
सर्फस

2
@ ल्यूक: एक आसान तरीका यह होगा कि आप लिनक्स सिस्टम से NTFS ड्राइव को माउंट करें और अपनी इच्छानुसार फाइल बनाएं :)
Hippo

1
बस यह सुनिश्चित करें कि आपके पास Windows NT का सही संस्करण है और UNIX- आधारित एप्लिकेशन उपयोगिताओं के लिए सबसिस्टम स्थापित करें, लोग।
JdeBP

1
@ ल्यूक: हमेशा की तरह, बचाव के लिए विकिपीडिया । :-)
१।

7

यह वास्तव में NTFS नहीं है जिसके बारे में आप पूछताछ कर रहे हैं।

NTFS फाइलसिस्टम है। आपका प्रश्न वास्तव में विंडोज कमांड शेल के केस-सेंसिटिविटी के बारे में है। वे पूरी तरह से अलग हैं। विंडोज एक्सप्लोरर एक ग्राफिकल कमांड शेल है। प्रवेश करके cmd(प्रारंभ में। उदाहरण के लिए चलाएँ) आप कमांड को निष्पादित करने के लिए विंडोज कमांड शेल को बता रहे हैं cmd(जो वास्तव में एक और कमांड शेल है, लेकिन ग्राफिकल के बजाय कमांड लाइन आधारित है)।

इसी तरह, CHKDSK इस बात पर किसी प्रकार की जाँच नहीं कर रहा है कि आपने CMD या cmd का उपयोग किया है या नहीं। सभी CHKDSK इसके बारे में जानते हैं कि आपके पास कौन से पैरामीटर हैं, जो इस मामले में x :, / f और / r हैं।

CHKDSK "फिक्सिंग कैपिटलाइज़ेशन" के रूप में, मुझे वास्तव में यकीन नहीं है कि आपका वहां क्या मतलब है।


4
NTFS केस-संवेदी है। MS KB आलेख 100625 के अनुसार: NTFS में, आप एक ही डायरेक्टरी में संग्रहीत अद्वितीय फ़ाइल नाम बना सकते हैं, जो केवल मामले में भिन्न होता है। उदाहरण के लिए, निम्न फ़ाइल नाम NTFS वॉल्यूम पर एक निर्देशिका में सह-अस्तित्व में हो सकते हैं: CASE.TXT case.txt case.TXT हालाँकि, यदि आप इन फ़ाइलों में से एक Win32 अनुप्रयोग, जैसे कि नोटपैड, को खोलने का प्रयास करते हैं, तो आपके पास केवल पहुंच होगी फ़ाइलों में से एक, फ़ाइल नाम संवाद बॉक्स में आपके द्वारा लिखे गए फ़ाइल नाम के मामले की परवाह किए बिना।
फ्रैंक

यह सच है, स्पष्ट करने के लिए धन्यवाद। मैंने अपने उत्तर से थोड़ा बाहर निकाल लिया है क्योंकि यह वास्तव में वैसे भी नहीं है जैसा यहाँ है।
स्क्विलमैन 21

> हालाँकि, यदि आप इन फ़ाइलों में से किसी एक Win32 अनुप्रयोग, जैसे कि नोटपैड, को खोलने का प्रयास करते हैं, तो आप केवल उन फ़ाइलों में से किसी एक पर पहुँच सकते हैं, चाहे आप उस फ़ाइलनाम बॉक्स के खुले फ़ाइल संवाद बॉक्स में किस प्रकार के हों ?
सिंथेटेक

4
@ सिंथेटेक: पहला वाला, शायद? निर्देशिका में फ़ाइल क्रम पर निर्भर करता है, और संभवतः चंद्रमा चरण।
ग्रेविटी

5

मुझे सवाल पूछने वाले के दावे पर संदेह है कि chkdsk.exe "कुछ फ़ाइलों में पूंजीकरण को ठीक कर रहा है" वास्तव में CHKDSK के संदेश से संकेत मिलता है जो कुछ परिस्थितियों में होता है:

अपरकेस फ़ाइल में त्रुटियों को ठीक करना

मूल रूप से, यह Windows XP संस्करण chkdsk.exe से एक NTFS वॉल्यूम के विरुद्ध चल रहा है जो Windows के बाद के संस्करण में स्वरूपित किया गया है, जैसा कि त्रुटि संदेश में वर्णित है जब आप Windows XP- आधारित या Windows पर Chkdsk.exe चलाते हैं सर्वर 2003-आधारित कंप्यूटर: "अपरकेस फ़ाइल में त्रुटियों को ठीक करना" । उतावलापन यह है कि यह वास्तव में एक त्रुटि नहीं है, और मामले की संवेदनशीलता के साथ इसका कोई लेना-देना नहीं है।

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