क्या डॉट (।) रखने के लिए फ़ोल्डर नाम के लिए यह बुरा अभ्यास है? कैसे कई डॉट्स के साथ फ़ाइल नाम के बारे में?


28

कभी-कभी यह एक फ़ोल्डर नाम के लिए एक डॉट (।) शामिल करने के लिए व्यावहारिक अर्थ बनाता है। उदाहरण के लिए, आप L = 0.5 पर किए गए प्रयोग के लिए डेटा संग्रहीत कर रहे हैं। इसलिए फ़ोल्डर का नाम दिया जा सकता है:

experiment_L0.5

फ़ाइल नामों के लिए एक समान समस्या उत्पन्न हो सकती है। उदाहरण के लिए:

file_L0.5.txt

उबंटू में काम करना, क्या यह बुरा अभ्यास है? अगर इन निर्देशिकाओं को विंडोज उपयोगकर्ता के साथ साझा किया जाए तो कैसा रहेगा?

धन्यवाद!


5
यदि डॉट पहला वर्ण है, तो फ़ोल्डर छिपाया जाएगा। इसके अलावा, मुझे नहीं लगता कि यह मायने रखता है।
user3121023

जवाबों:


37

जहाँ तक मुझे पता है कि एक या कई डॉट्स वाले फ़ोल्डर और फ़ाइलों के नामकरण में कोई समस्या नहीं है।

उबंटू आमतौर पर फ़ाइल प्रकार की पहचान करने के लिए डॉट और तीन अक्षरों (जैसे .txt) का उपयोग नहीं करता है। तो इसका उबंटू संदर्भ में कोई विशेष अर्थ नहीं है। विंडोज के साथ फाइल साझा करते समय यह उपयोगी है। उबंटू फ़ाइल प्रकार की पहचान करने के लिए फ़ाइल के पहले कुछ बाइट्स में मैजिक नंबर का उपयोग करता है । हालाँकि, नॉटिलस। यदि जादू और तीन वर्णों का एक्सटेंशन फ़ाइल प्रकार की पहचान करने के लिए उपलब्ध है, तो जादू की संख्या को अनदेखा करता है। इस सेटिंग को बदला जा सकता है। एक्सटेंशन को अनदेखा करने के लिए फ़ोर्स नॉटिलस देखें

उबंटू में, एक फ़ाइल या फ़ोल्डर के नाम को डॉट के साथ शुरू करना, जैसे .experiment_L0.5, फ़ाइल या फ़ोल्डर को छिपाना। आप Nautilus में Ctrl+ दबाकर छिपी हुई फ़ाइलों के प्रदर्शन को टॉगल कर सकते हैं H। विंडोज में a से शुरू होने वाला फ़ाइल नाम। छिपा नहीं है। इसलिए यदि आप एक छुपी हुई फाइल .experiment_L0.5को विंडोज सिस्टम में ट्रांसफर करते हैं तो यह स्पष्ट रूप से दिखाई देगा।

उबंटू में एक फ़ाइल का नाम डॉट के साथ समाप्त हो सकता है क्योंकि इसका कोई विशेष अर्थ नहीं है। हालाँकि, विंडोज में एक डॉट फ़ाइल नाम और एक्सटेंशन को अलग करता है, और एक डॉट के साथ समाप्त होने वाला एक फ़ाइल नाम है, लेकिन कोई एक्सटेंशन की अनुमति नहीं है। जब मैंने विंडोज में ऐसी फाइल बनाने की कोशिश की तो मुझे सिर्फ नाम, नो डॉट, नो एक्सटेंशन वाली फाइल मिली।

संदर्भ: फिलेनम्स पर विकी

उम्मीद है की यह मदद करेगा।


4
यह सही है। यदि आप फ़ाइलों को विंडोज़ के साथ साझा करते हैं, तो आपको कोलोन :चार से बचना होगा, विंडोज़ फ़ाइल नामों में अवैध, जो समस्याएं पैदा करेगा ( और यह करता है )। यह भी देखें यहाँ
रैनमो

धन्यवाद @ रमनो मैंने अपने उत्तर में विकी का लिंक जोड़ा है।
user68186

1
संगतता के बारे में बोलते हुए, मुझे लगता है कि fname.विंडोज में न तो ट्रेलिंग डॉट (जैसे ) की अनुमति है और न ही।
रमनो

धन्यवाद फिर से @Rmano मैंने कुछ त्वरित परीक्षण चलाए और test.विंडोज में नामित एक फ़ाइल बनाने में विफल रहा । मैं अपना जवाब अपडेट करूंगा।
user68186

1
Rmano की टिप्पणी में जोड़ने के लिए - यह उबंटू पर एक मुद्दा हो सकता है यदि आपके पास वर्चुअलबॉक्स के माध्यम से एक विंडोज ड्राइव है। ट्रेलिंग डॉट वाले एक नाम को mkdir करने की कोशिश 'प्रोटोकॉल त्रुटि' के साथ विफल हो जाती है।
bvanlew

11

संक्षिप्त उत्तर

  • Windows निम्न वर्णों की अनुमति नहीं देता है: <>:"/\|?*( स्रोत )
  • हतोत्साहित करने वाले अधिक वर्ण हैं: अंतरिक्ष और डॉट .( स्रोत )
    • जब आप नामों में स्थान रखते हैं तो कमांड लाइन टूल का उपयोग करना कठिन होता है (कठिन, असंभव नहीं)
    • डॉट्स का उपयोग RegEx (उदाहरण के लिए जब आप उपयोग करना चाहते हैं grep) में किया जाता है। एक अग्रणी डॉट लिनक्स में कन्वेंशन द्वारा छिपी हुई एक फ़ाइल बनाता है। विंडोज में, फ़ाइल एक्सटेंशन में डॉट्स का उपयोग किया जाता है, जिसका उपयोग फ़ाइल प्रकार का पता लगाने के लिए किया जाता है।
  • विंडोज भी अनुमति नहीं दी जाएगी फ़ाइल नाम CON, PRN, AUX, CLOCK$, NUL COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9 LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, और LPT9। ( स्रोत )
  • यूनिक्स फाइल सिस्टम में केवल वही पात्र जिन्हें मैं जानता हूं /और अशक्त (शून्य बाइट \0) हैं।
  • यह भी देखें: फ़ाइल सिस्टम सीमाएं (मुझे नहीं पता कि आप किस विंडोज को संगत बनाना चाहते हैं)।

लंबा जवाब

तकनीकी पृष्ठभूमि: फाइल सिस्टम

उबंटू ext4फाइल सिस्टम का उपयोग करता है। एक फाइल सिस्टम ट्रैक करता है जहां फाइलें अंतर्निहित भंडारण (डिस्क या एसएसडी या जो भी) पर संग्रहीत की जाती हैं, मालिक / समूह / अन्य के रूप में अनुमतियाँ / लेखन / निष्पादन, टाइमस्टैम्प, नाम पढ़ सकते हैं।

फाइल सिस्टम उपलब्ध स्टोरेज को स्ट्रक्चर करता है। पहले ब्लॉक को "सुपरब्लॉक" कहा जाता है। इस ब्लॉक का उपयोग फाइल सिस्टम को माउंट करने के लिए किया जाता है। जहां तक ​​मुझे पता है, हर आधुनिक फाइल सिस्टम विभाजित है यह ब्लॉक में जगह है। मुझे लगता है (और मैं इसके बारे में बहुत आश्वस्त नहीं हूं) कि ज्यादातर फाइल सिस्टम में एक निश्चित ब्लॉक आकार होता है, हालांकि फाइल सिस्टम के निर्माण के दौरान ब्लॉक आकार को कॉन्फ़िगर किया जा सकता है। ext4 (और ext2 और ext3) फ़ाइलों और निर्देशिकाओं के लिए तथाकथित "इनकोड" का उपयोग करते हैं। इनोड्स में अन्य ब्लॉकों के संकेत होते हैं (जो कि इनोड भी हो सकते हैं या "डेटा ब्लॉक" हो सकते हैं)। और एक फ़ाइल के "पहले" इनोड में उपरोक्त सभी जानकारी शामिल है।

एक अन्य जानकारी फ़ाइल का "प्रकार" है। "प्रकार" हो सकता है:

  • नियमित फ़ाइल
  • निर्देशिका
  • डिवाइस फ़ाइल (ब्लॉक या कैरेक्टर डिवाइस)
  • ...

वास्तव में, आप एक संपादक के साथ निर्देशिका भी खोल सकते हैं:

vim /home

चूंकि निर्देशिका में पूर्ण पथ शामिल नहीं है, लेकिन केवल उन सामग्री के नाम जिन्हें मैं एक कारण नहीं देखता कि फाइलें क्यों नहीं हो सकती हैं /। मुझे लगता है कि यह सुविधा हो सकती है। (क्या किसी को पता है कि /अनुमति क्यों नहीं है?)

हालाँकि, अन्य फ़ाइल सिस्टम के लिए चीजें अलग हैं। FAT16 और FAT32 ने एक तथाकथित "फ़ाइल आवंटन तालिका" का उपयोग किया। इसका मतलब है कि एक तालिका है जिसमें आपकी फ़ाइल पर संग्रहीत सभी फ़ाइलें हैं, जिस पर वे "क्लस्टर" शुरू करते हैं और जिस क्लस्टर पर वे एक एकल लिंक की गई सूची के रूप में समाप्त होते हैं।

महत्वपूर्ण बात जो मैं आपको बताना चाहता हूं वह यह है कि अस्वीकृत अक्षर भी फ़ाइल सिस्टम पर निर्भर हो सकते हैं।

तकनीकी पृष्ठभूमि: फ़ाइल प्रकार

  • Windows फ़ाइल प्रकारों का पता लगाने के लिए फ़ाइल एक्सटेंशन का उपयोग करता है
  • लिनक्स फ़ाइल प्रकारों का पता लगाने के लिए "मैजिक बाइट्स" का उपयोग करता है। मैजिक बाइट्स फ़ाइल की सामग्री का हिस्सा हैं और इसलिए नाम से पूरी तरह से स्वतंत्र हैं। ये बाइट्स फ़ाइल प्रकार के विनिर्देश का हिस्सा हैं ( उदाहरण के लिए png विनिर्देश देखें )। यह उसी मैजिक बाइट्स के साथ फाइल के लिए फाइल एक्सटेंशन का भी उपयोग करता है जैसे कि ( .txtया .htmlदोनों टेक्स्ट फाइल हैं)।

सम्बंधित


एफएटी स्टोर फ़ाइलनाम कैसे सही है, इस बारे में आपका अनुमान: en.wikipedia.org/wiki/FAT32#File_Allocation_Table - वास्तविक "FAT" क्लस्टर की सूची को संग्रहीत करता है , जबकि निर्देशिका फाइलेरों की एक सूची को सूचक के साथ पहले क्लस्टर में संग्रहीत करती है। एक फ़ाइल, आप ext4 का वर्णन कैसे करें के समान है। :) इसके अलावा, .txtऔर .htmlफ़ाइलों में वास्तव में अलग "जादू मूल्य" होते हैं - test.txtदौड़ने और चलाने के लिए एक html फ़ाइल का नाम बदलने का प्रयास करें file test.txt। मूल प्रश्न के लिए इसकी अधिक प्रासंगिकता नहीं है, लेकिन फिर भी :)
सर्गई

1
धन्यवाद, मैंने FAT के बारे में गलत भाग हटा दिया है। जादू के मूल्यों के बारे में और file: fileकेवल फ़ाइल के प्रकार को निर्धारित करने के लिए जादू के मूल्यों का उपयोग नहीं करता है। प्रत्येक मान्य HTML-फ़ाइल एक पाठ फ़ाइल है (इस अर्थ में कि इसमें पठनीय वर्ण शामिल हैं), लेकिन प्रत्येक मान्य पाठ फ़ाइल एक मान्य HTML फ़ाइल नहीं है (इस अर्थ में कि यह W3C सत्यापनकर्ताओं के विरुद्ध मान्य है)। तो वास्तव में पाठ फ़ाइलों में बहुत सारे फ़ाइल प्रकार (html, xml, csv, js, php, c, h, cpp, ...) हैं। केवल बाइनरी फ़ाइलों में मैजिक बाइट्स होते हैं जो अच्छी तरह से परिभाषित पदों पर होते हैं। मेरे द्वारा ऊपर बताई गई सभी फ़ाइलों में सामग्री से पहले मनमाने ढंग से व्हाट्सएप हो सकता है।
मार्टिन थोमा

5

संपूर्णता के लिए, वे नाम जिनमें केवल एक बिंदु .या दो बिंदु ..हैं, विशेष हैं:

  • . वर्तमान निर्देशिका को संदर्भित करता है
  • .. जनक निर्देशिका को संदर्भित करता है

उन प्रविष्टियों को स्वचालित रूप से जोड़ा जाता है और हमेशा मौजूद रहता है, इसलिए आपके पास नाम .या फ़ाइल नहीं हो सकती है ..


अच्छी बात। यह विंडोज और उबंटू दोनों पर लागू होता है।
user68186

1

इससे कोई फर्क नहीं पड़ता, न तो लिनक्स में और न ही खिड़कियों में।

प्रोग्राम के लिए कॉन्फ़िगरेशन और सामान सहेजने के लिए "program.d" नाम का फ़ोल्डर होना एक आम बात है।


0

फ़ाइल नामकरण यूनिक्स, लिनक्स फाइल-सिस्टम में बहुत लचीला है। एकमात्र फ़ाइल-नाम जो आपके पास नहीं हो सकता है, वह एक अशक्त चरित्र या /उसके नाम से युक्त है । लेकिन यह निश्चित रूप से उन वर्णों का उपयोग करने से बचने के लिए एक अच्छा अभ्यास होगा जो नाम-पोर्टेबिलिटी के दृष्टिकोण से अन्य प्रणालियों में निषिद्ध / आरक्षित हैं; " * : < > ? \ / |अगर आप किसी फ़ाइल सिस्टम में किसी भी वर्ण (NTFS द्वारा प्रतिबंधित) का उपयोग नहीं करना चाहिए, यदि आप एक Windows सिस्टम में फ़ाइल का उपयोग करना चाहते हैं।

और फ़ाइल-नाम में (अवधि) का उपयोग करने के बारे .में , मुझे लगता है कि यह ठीक होना चाहिए क्योंकि यह किसी भी सिस्टम में "आरक्षित" वर्ण प्रतीत नहीं होता है (OpenVMS, MS-DOS और Windows को छोड़कर जहां इसका उपयोग होता है फ़ाइल / निर्देशिका नाम की अनुमति है लेकिन अंतिम घटना वीएमएस, एमएस-डॉस और विंडोज में विस्तार विभाजक के रूप में व्याख्या की जाएगी जो निम्नानुसार विकिपीडिया लिंक में उल्लिखित है:

अन्य प्रणालियों में, आमतौर पर फ़ाइल नाम का हिस्सा माना जाता है, और एक से अधिक अवधि की अनुमति दी जा सकती है। यूनिक्स में, एक अग्रणी अवधि का मतलब है कि फ़ाइल या फ़ोल्डर सामान्य रूप से छिपा हुआ है।

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