"हैं" और ".." प्रविष्टियाँ हमेशा एक ही सूची में होती हैं?


13

कब होगा " और ".." प्रविष्टियों को एक dir लिस्टिंग में अंतर है? (मुझे लगता है कि वे दो अलग-अलग निर्देशिकाओं का प्रतिनिधित्व करते हैं, लेकिन वे हमेशा एक डिफ़ॉल्ट तिथि कमांड में समान तिथि और समय के साथ समान रूप से सूचीबद्ध होते हैं। क्या वे कभी अलग होते हैं?)


1
क्या आप एक उदाहरण दे सकते हैं (शायद एक स्क्रीन शॉट के साथ)
क्रिसएफ

जवाबों:


26

वास्तविक सूची के अनुसार:

27/08/2011  11:23    <DIR>          .
27/08/2011  11:23    <DIR>          ..

वे दोनों के लिए वर्तमान निर्देशिका की तारीख का उपयोग कर रहे हैं। यदि आप शुरू करते हैं C:\Users\Chris(कहते हैं) आप ऊपर प्राप्त कर सकते हैं। लेकिन जब आप ऊपर C:\Usersजाते हैं:

26/07/2011  21:20    <DIR>          .
26/07/2011  21:20    <DIR>          ..

तो ..पहले मामले की तारीख .दूसरे में तारीख की तरह नहीं है। जो स्पष्ट रूप से गलत है क्योंकि वे एक ही निर्देशिका हैं (या होना चाहिए)। हालाँकि, .और ..वर्तमान और मूल निर्देशिका के संदर्भ हैं और दोनों एक ही समय में बनाए गए हैं - जब निर्देशिका बनाई गई थी - तो यह वास्तव में सही है (इसे इंगित करने के लिए Synetech inc के लिए धन्यवाद)

केवल समय timestamps अलग हो सकता है अगर एक या अन्य है .या ..निर्मित किया गया था।


मूल उत्तर:

. वर्तमान निर्देशिका का मतलब है।

.. मूल निर्देशिका का मतलब है।

इसलिए सामान्य परिस्थितियों में वे हमेशा अलग होते हैं।

केवल उसी समय वे परिणाम देते हैं जब आप डिस्क की जड़ में होते हैं। तो एक ही आउटपुट का उत्पादन C:\> dir .और dir ..उत्पादन करें।


बात का जवाब, शानदार।
ppuschmann

इस सवाल पर जोर देने के लिए संपादित किया गया है कि यह उनकी सूची से संबंधित है।
साक्षी प्रोटेक्शन आईडी 44583292 20

); - @mike वोट का औचित्य साबित करने के लिए संशोधित सवाल का जवाब देने की कोशिश की
ChrisF

4
यह गलत है, क्योंकि ..मूल निर्देशिका का टाइमस्टैम्प नहीं दिया गया है, इसे वर्तमान निर्देशिका का टाइमस्टैम्प दिया गया है। इसका कारण यह है है .और ..दोनों जब निर्देशिका बनाई गई है बनाया जाता है।
22

@ सिनटेक - आह! पैसा चला जाता है
ChrisF

14

नहीं, वे हमेशा समान रहेंगे। क्योंकि इन निर्देशिका, नहीं फ़ाइलें हैं, वे कुछ अलग ढंग से नियंत्रित किया जाता है (वास्तव में, वे भी सामान्य निर्देशिका वे कर रहे हैं नहीं कर रहे हैं, संकेत के रूप में eL01 कहा ताकि वे सामान्य निर्देशिका से भी अधिक अलग ढंग से नियंत्रित किया जाता है,)।

जब आप एक निर्देशिका बनाते हैं, तो दो प्रविष्टियाँ स्वचालित रूप से बनाई जाती हैं:

  • . नव निर्मित निर्देशिका के लिए अंक
  • .. नई निर्देशिका के जनक को इंगित करता है

स्पष्ट रूप .से वर्तमान तिथि और समय होगा कि निर्देशिका बनाई गई है, और जबकि यह मूल निर्देशिका के टाइमस्टैम्प के लिए तार्किक प्रतीत हो सकता है .., इसकी प्रतिलिपि बनाई जाए , यह नहीं है कि यह कैसे काम करता है। जब आप एक नई निर्देशिका बनाते हैं, तो दोनों संकेत वर्तमान तिथि और समय प्राप्त करते हैं। यह डॉस से विंडोज 7 के माध्यम से एफएटी * और एनटीएफएस दोनों पर मामला है।


1
+1 के बाद से ऐसा लगता है कि आप जवाब के साथ आने वाले एक थे, क्रिस अब प्रस्तुत कर रहा है ;-)
जोनास हीडलबर्ग

@ जोनास, वास्तव में, क्रिसफ का जवाब एक ही गलत धारणा है जो ज्यादातर लोगों को होता है: जिसमें ..माता-पिता का टाइमस्टैम्प होगा। (मुझे आश्चर्य नहीं होगा अगर किसी दिन, एक नया फाइल-सिस्टम-विनएफएस? - आखिरकार इसे इस तरह से कैसे करें)।
सिनटेक

अपने 4 वें संशोधन के साथ शुरू करते हुए मैं कहूंगा कि वह उस धारणा को और अधिक नहीं बनाता है।
जोनास हीडलबर्ग

@ जोनास, आह ठीक है। मैंने संपादन नहीं देखे। अरे ठीक है, वह वैसे भी नए अप-वोट प्राप्त कर रहा है; मुझे लगता है कि यह संपादन समारोह की बात है।
सिनटेक

मुझे आपको उस नवीनतम संशोधन में श्रेय देना चाहिए था - अब मैं ऐसा करूंगा।
क्रिसएफ

4

मैं वास्तव में आपको प्रमाण नहीं दे सकता, लेकिन मुझे लगता है: प्रत्येक निर्देशिका में निर्देशिकाओं और फाइलों की एक सूची होती है। रिश्तेदार पथों का उपयोग करना संभव बनाने के लिए हर निर्देशिका को उन दो बिंदुओं की आवश्यकता होती है - एक स्वयं के लिए .और दूसरी निर्देशिका एक स्तर ऊपर ..- उन दो बिंदुओं को केवल उस समय बनाया जाता है जब निर्देशिका स्वयं बनाई जाती है।

तो टाइमस्टैम्प का ..वास्तव में ऊपर की निर्देशिका का टाइमस्टैम्प नहीं है, लेकिन ऊपर की निर्देशिका के लिए सूचक का टाइमस्टैम्प है ।


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