कौन से वर्णों की अनुमति है और उनमें से कौन से को अलग-अलग ऑपरेटिंग सिस्टम में कमांड लाइन पर बच जाना चाहिए?
कौन से वर्णों की अनुमति है और उनमें से कौन से को अलग-अलग ऑपरेटिंग सिस्टम में कमांड लाइन पर बच जाना चाहिए?
जवाबों:
फ़ाइल नाम पर विकिपीडिया लेख में फ़ाइल नाम वर्णों की चर्चा है ।
आपको यह निबंध जानकारीपूर्ण लग सकता है: फिक्सिंग यूनिक्स / लिनक्स / पॉसिक्स फाइलनाम ।
यह आलेख OS X और Windows XP की तुलना करता है: X बनाम XP: फ़ाइल नाम में निषिद्ध वर्ण (पीडीएफ, पीपी लगभग देखें। 64-66)।
चीजें जो $ 1,000 एलेक्स के लिए फ़ाइल नामों में नहीं होनी चाहिए
मुझे नहीं पता कि कौन-से अक्षर अन- शेप्ड होने चाहिए , लेकिन लिनक्स में, उन वर्णों से बचने के लिए शायद अच्छा विचार नहीं है, जिनके विशेष अर्थ हो सकते हैं जैसे "n" (newline), "t" (टैब) और अन्य, लेकिन यह आम तौर पर फ़ाइल संचालन में कोई समस्या नहीं है। शायद आपका मतलब है "बच गए" के बजाय "बच गए"। सबसे आम लोग हैं कि शेल अंतरिक्ष की व्याख्या करेगा, ">", "<", आदि। उन लेखों में से कुछ देखें जिन्हें मैंने उन लोगों की चर्चा के लिए जोड़ा था।
* Nix में फ़ाइल नाम में केवल एक ही वर्ण की अनुमति नहीं है NUL
और /
। Windows में, केवल NUL
, :
है, और \
सही मायने में की अनुमति नहीं है, लेकिन कई ऐसे ऐप्स हैं जो आगे भी रोकने प्रतिबंधित ?
, *
, +
, और %
।
किसी भी बिंदु पर एक फ़ाइल नाम में कोई भी वर्ण करते जरूरत के रूप में खोल से व्याख्या नहीं की जा के लिए यह आवश्यक को छोड़कर भाग निकले किया जाना है।
यदि आप निम्न वर्णों में से किसी एक का उपयोग कर एक्सप्लोरर के साथ विंडोज पर एक फाइल बनाते हैं, तो यह शिकायत करेगा कि वर्णों की अनुमति नहीं है:
\ / : * ? " < > |
एक अच्छा संदर्भ यहाँ है:
नामकरण फ़ाइलें, पथ और नामस्थान
http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx
Microsoft आगे बताता है:
"... विंडोज-आधारित डेस्कटॉप प्लेटफ़ॉर्म पर, अमान्य पथ वर्णों में ASCII / Unicode वर्ण 1 शामिल हो सकते हैं 31 के माध्यम से, साथ ही उद्धरण ("), से कम (<), से अधिक (>), पाइप (|), बैकस्पेस ((b), null (\ 0) और tab (\ t)। "
http://msdn.microsoft.com/en-us/library/system.io.path.getinvalidpathchars.aspx
\ / : * ? " < > |
सभी से बच सकता हूं, और उन्हें अपने GNU / लिनक्स सिस्टम पर mkdir के साथ बना सकता हूं। आप निर्देशिका mkdir '?'
बनाने के लिए भी उपयोग कर सकते हैं ?
। मैंने परीक्षण करने के लिए रैमडिस्क और एक्सएफएस फाइल सिस्टम का उपयोग किया है।
लिनक्स और अन्य POSIX संगत सिस्टमों पर, "/" यह निर्देशिका विभाजक के रूप में आरक्षित है, और "\ 0" (NULL वर्ण) स्ट्रिंग के अंत को नामित करता है। बाकी सब अनुमति है।