OS X के तहत फ़ाइल नाम के लिए अमान्य वर्ण क्या हैं?


22

मुझे यह जानकारी प्राप्त करने में समस्या हो रही है, और परीक्षण और त्रुटि मुझे बता रही है कि कोई भी नहीं हो सकता है। OS X Lion (10.7) पर फ़ाइल नाम के लिए अमान्य वर्ण क्या हैं?


1
सिंगल फॉरवर्ड स्लैश? सिंगल बैकलैश? सिंगल या डबल पीरियड?

सभी स्लैश कॉम्बो और एकल काम करने लगते हैं, लेकिन एक एकल और दोहरी अवधि विफल हो जाती है क्योंकि वे पहले से ही उपयोग में हैं। मुझे आशा है कि इससे कहीं अधिक .... :)
रॉडने फोले

आप ASCII NUL का उपयोग नहीं कर सकते। कुछ समय सोचिए और आप खुद को जान सकते हैं कि क्यों ...
डोनाल्ड फेलो

@ डोनल एएससीआईआई एनयूएल ऐसी चीज नहीं है जिसे आप आसानी से सिर्फ "टाइप" कर सकते हैं या गलती से समस्या कर सकते हैं।
रोडनी फोले

1
क्या आप हमें कुछ संदर्भ दे सकते हैं, रॉडने? इसका उत्तर देने में बहुत मदद मिलेगी यदि हम थोड़ा सा समझें कि आप क्या करने की कोशिश कर रहे हैं ... AFAIK, कुछ संभावित मुद्दे हैं: ईमानदार-से-देव निषिद्ध वर्ण, वर्ण जो एक के रूप में दर्ज करना असंभव है टर्मिनल शेल में पथ, और वे अक्षर जो फाइंडर में ठीक से प्रदर्शित नहीं होंगे।
Shog9

जवाबों:


7

एचएफएस प्लस " यूनिकोड , एनयूएल सहित किसी भी चरित्र को अनुमति देता है । ओएस एपीआई विरासत के कारणों के लिए कुछ पात्रों को सीमित कर सकता है"


3
Techincally HFS + फाइल सिस्टम सभी यूनिकोड वर्णों की अनुमति देता है (क्योंकि यह आंतरिक रूप से नामों का प्रतिनिधित्व करता है जैसे पास्कल स्ट्रिंग्स 2-बाइट लंबाई के साथ), लेकिन AFAIK OS द्वारा प्रदान की गई कोई भी API आपको उनमें स्लैश '/'या NUL के साथ फ़ाइल बनाने या खोलने की अनुमति नहीं '\0'देता है ।
एडम रोसेनफील्ड

एपीआई कार्बन या कोको के रूप में? मुझे लगता है कि टर्मिनल इस तरह के प्रतिबंधों के तहत है, लेकिन अन्य कार्यक्रमों जैसे कि लॉन्च किए गए स्क्रिप्ट के बारे में क्या है?
20

8

OS X के तहत फ़ाइल नाम के लिए अमान्य वर्ण क्या हैं?

विकी HFS + :

फ़ाइल नाम यूनिकोड में स्वीकृत वर्ण , NUL सहित कोई भी वर्ण। ओएस एपीआई विरासत के कारणों के लिए कुछ पात्रों को सीमित कर सकते हैं


फाइंडर वर्तमान में फ़ाइल नामों में कॉलन में प्रवेश करने की अनुमति नहीं देता है, लेकिन यह बैकस्लैश में प्रवेश करने की अनुमति देता है। हालांकि फाइंडर में स्लैश के रूप में दिखाए गए वर्णों को गोले में कॉलोन के रूप में दिखाया गया है, और इसके विपरीत। खोजक किसी भी ASCII नियंत्रण वर्ण की अनुमति नहीं देता है।


बैश सभी नियंत्रण वर्णों को अनुमति देने के लिए लग रहा था \000(NUL) को छोड़कर । मैंने इसका परीक्षण आउटपुट से चलाकर किया है:

for i in {1..31} 127 0; do echo touch \\$(bc <<< "obase=8;$i"); done

2

संपादित

विकिपीडिया के अनुसार , एकमात्र अमान्य चरित्र फ़ॉरवर्ड-स्लैश है /, लेकिन UNIX परत पर।


2
शायद :मैक ओएस क्लासिक पर निषिद्ध है, लेकिन निश्चित रूप से मैक ओएस एक्स पर नहीं - touch foo:barपूरी तरह से ठीक काम करता है।
एडम रोसेनफील्ड

1
उत्तर अपडेट कर दिया गया है। आपका डाउनवोट हटाने के लिए आपका स्वागत है।

5
@ एडम: :"यूनिक्स लेयर" में मान्य है, लेकिन इसका अनुवाद / /"मैक लेयर्स" में किया गया है (अर्थात खोजक, अधिकांश फाइल-संबंधी संवाद, आदि): कोलोन का उपयोग "HFS पथ" में विभाजक के रूप में किया जाता है “और स्लैश का उपयोग“ POSIX पाथ्स ”में विभाजक के रूप में किया जाता है, इसलिए एक दो-तरफा अनुवाद है जिसके आधार पर आप जिस“ लेयर ”के साथ काम कर रहे हैं।
क्रिस जॉन्सन

2
तो, कोई फॉरवर्ड स्लैश ( /) या कॉलोन ( :) सुरक्षित नहीं है?
निकोलस मिआरी

2
@ नाइकोलासमीरी हां। Finder.app आपको कॉलन में प्रवेश करने की अनुमति नहीं देगा, और इसमें शामिल फ़ाइल नाम के साथ ठीक से काम नहीं करेगा। UNIX लेयर आपको स्लैश वाली फ़ाइलों के साथ काम करने की अनुमति नहीं देगा (या बल्कि; यह इसे कोलन में अनुवाद करता है)। और फिर अन्य एप्लिकेशन (जैसे कि माइक्रोसॉफ्ट वर्ड) हैं जो या तो चोक करते हैं। उदाहरण के लिए, यदि आप फ़ाइल नाम foo/bar.docx(जो काम करता है) के तहत TextEdit.app में कोई दस्तावेज़ सहेजते हैं, तो Microsoft Word इसे खोलने में असमर्थ होगा।
कोनराड रुडोल्फ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.