निर्देशिकाओं के बारे में ऐसा क्या खास है जिनके नाम डॉट से शुरू होते हैं?


25

मैं सोच रहा था कि इन दोनों में क्या अंतर था:

~/somedirectory/file.txt

तथा

~/.somedirectory/file.txt

Google पर यह पूछना वास्तव में मुश्किल है क्योंकि मैं नहीं जानता कि कैसे समझाऊं .जब मुझे यह भी नहीं पता था कि इसे कैसे कॉल करना है। लेकिन क्या कोई डॉट सहित और इसे छोड़कर के बीच अंतर का वर्णन कर सकता है?

जवाबों:


18

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

यूनिक्स प्रति उपयोगकर्ता कॉन्फ़िगरेशन फ़ाइलों को उपयोगकर्ता की होम निर्देशिका में संग्रहीत करता है। यदि सभी कॉन्फ़िगरेशन फ़ाइलें फ़ाइल लिस्टिंग में दिखाई देती हैं, तो होम डायरेक्टरी उन फ़ाइलों के साथ बंद हो जाएगी जो उपयोगकर्ता हर दिन की परवाह नहीं करते हैं। इसलिए कॉन्फ़िगरेशन फ़ाइलें हमेशा से शुरू होती हैं .: आमतौर पर, एप्लिकेशन फू के लिए कॉन्फ़िगरेशन फ़ाइल को कुछ इस तरह कहा जाता है .fooया .foorc। इस कारण से, उपयोगकर्ता कॉन्फ़िगरेशन फ़ाइलों को अक्सर डॉट फ़ाइलों के रूप में जाना जाता है ।


1
"आम तौर पर, lsऔर वाइल्डकार्ड जिसका नाम एक साथ शुरू होता है सभी फाइलों को छिपाने ., यह बाहर करने के लिए एक आसान तरीका है .और ..और उन लिस्टिंग से अन्य फ़ाइलों को छिपाने के लिए अनुमति देते हैं।" यह निम्नलिखित की तरह लगता है: फाइलों / निर्देशिकाओं को छिपाने की अवधारणा जो एक डॉट के साथ शुरू होती है, वास्तव में छिपाने के लिए प्रकट हुई है . ..। लेकिन बाद में, लोगों ने महसूस किया कि कुछ फाइलों / निर्देशिकाओं को छिपाने में सक्षम होने के कारण इसमें एक मूल्य है और इसलिए, उन्होंने उन फाइलों की शुरुआत में एक डॉट लगाना शुरू किया, जिसे वे छिपाना चाहते हैं। क्या यह वास्तव में मामला है या सिर्फ एक अटकल है?
Ut17

3
@Utku वास्तव में, यह दूसरा तरीका था, कम से कम पहले: मूल डेवलपर का उद्देश्य केवल छिपाना था .और ..एक गलती थी । हालांकि यह संभव है कि वह इसे ठीक करने से मना कर दिया गया था क्योंकि कुछ उपयोगकर्ताओं ने इसे उपयोगी पाया था, और यही कारण है कि उपयोगकर्ता कॉन्फ़िगरेशन फ़ाइलों के साथ शुरू होता .है ताकि वे lsहोम डायरेक्टरी में आउटपुट को अव्यवस्थित न करें । मुझे लगता है कि हमारे यहां इस बारे में एक सवाल है, लेकिन मैं इसे नहीं पा सकता हूं, यह गलत हो सकता है।
गिल्स एसओ- बुराई को रोकना '

15

एक डॉट के साथ शुरू होने वाली निर्देशिका .को छिपा हुआ माना जाता है। इसका मत:

  • ~/somedirectoryऔर ~/.somedirectoryअलग-अलग निर्देशिकाएं हैं। अगर यह ~/somedirectoryअस्तित्व में है और आपने किया है mkdir ~/.somedirectory, तो आप एक File Existsसंदेश के साथ विफल नहीं होंगे ।

  • lsआदेश उन निर्देशिकाओं के साथ शुरू नहीं दिखाएगा.

  • ls -aदोनों निर्देशिका दिखाएगा


6
ls- उन फ़ाइलों और निर्देशिकाओं को प्रदर्शित करता है जो इसके साथ शुरू होती हैं। लेकिन इसमें शामिल नहीं है। और .. प्रविष्टियाँ।
जूलियन

7

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

यह उपयोगकर्ता से फाइलें छुपाता है, जब तक कि वे उन्हें ढूंढना नहीं चाहते । इस तरह वे रास्ते में नहीं मिलते हैं, और उपकरण गलती से उनके साथ खिलवाड़ नहीं करते हैं।


4

सबसे आगे वाला "।" किसी डायरेक्टरी या फ़ाइल नाम के कारण उस डायरेक्टरी या फ़ाइल को lsकमांड करते समय छिपाया जा सकता है ।


1
आप "" से शुरू होने वाली सभी फाइलों को देख सकते हैं। ls -a के साथ।
सरदारथियन -

1

जैसे @DaveNay ने पहले ही कहा था, उस अवधि के कारण फ़ाइल या निर्देशिका छिपी होगी।

आपके दूसरे निहित प्रश्न के लिए, यह है कि आप Google में कैसे खोजते हैं:

बस खोज बॉक्स में टाइप करें: नाम से पहले लिनक्स की अवधि

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