क्या हैं "।" और एक निर्देशिका में ".."?


16

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

मामले में आप नहीं जानते कि मेरा क्या मतलब है यहां एक उदाहरण है:

.
..
Su.exe
Sup.txt
SuperUser.COM

जवाबों:


40

द। वर्तमान निर्देशिका है, जबकि .. मूल निर्देशिका को दर्शाता है। यह कमांड लाइन पर चीजों को तेज बनाता है और साथ ही आपको पूर्ण पथ टाइप करने की आवश्यकता नहीं है।

उदाहरण:

ऊपर जाएं 2 निर्देशिका:

cd ..\..\

या UNIX आधारित प्रणाली पर, मौजूदा निर्देशिका में निष्पादन योग्य बायनेरिज़ चलाने के लिए:

./program

बहुत सारी UNIX स्क्रिप्ट भी उपयोग करेंगी। उदाहरण के लिए फ़ाइलों को स्कैन करने के लिए वर्तमान निर्देशिका का प्रतिनिधित्व करने के लिए (पर्ल):

#!/usr/bin/perl

opendir ( DIR, "." ) || die "Error opening current directory\n";
while( ($f = readdir(DIR))){
     print("$f\n");
}
closedir(DIR);

यह बहुत अधिक पोर्टेबल है यदि आप स्क्रिप्ट को अलग-अलग निर्देशिका या सिस्टम में स्थानांतरित करना चाहते हैं क्योंकि एक निर्देशिका नाम हार्ड-कोडेड नहीं है।


3
यह बहुत कम ज्ञात है, लेकिन विंडोज कमांड लाइन इसे आगे बढ़ाती है। । = यह निर्देशिका .. = मूल निर्देशिका ... = माता-पिता की मूल निर्देशिका 3 डॉट्स कभी-कभी उपयोगी होती है, उससे बहुत अधिक और इससे निपटना बहुत मुश्किल है।
सालमनमोसे 3

4
विस्टा का उपयोग करते हुए 3 डॉट्स मेरे लिए काम नहीं करते हैं
केविन पेंको

1
न ही मुझे विंडोज 7 64 बिट आरटीएम पर। मेरे लिए एक मिथक की तरह लगता है। क्या हुआ .. वैसे भी ..?
एडमवी

2
@salmonmoose: मेरे लिए XP पर भी काम नहीं करता है।
साइमन पी स्टीवंस


10

..फाइल सिस्टम के पदानुक्रम ऊपर नेविगेट करने के लिए प्रयोग किया जाता है। यह उपयोगी है जब आप एक लंबा रास्ता नहीं लिखना चाहते हैं, या एक स्क्रिप्ट / प्रोग्राम लिखते समय जो यह नहीं जानता कि वास्तव में यह कहाँ स्थापित किया जाएगा, लेकिन यह जानता है कि ../media/सभी छवियों / वीडियो / आइकन आदि को पकड़ना चाहिए।

सिंगल डॉट .लिनक्स में उपयोगी है जहां आप वर्तमान निर्देशिका में एक निष्पादन योग्य चलाना चाहते हैं ताकि आप टाइप करें ./a.outक्योंकि डिफ़ॉल्ट रूप से कमांड शेल निष्पादन योग्य फ़ाइलों (सुरक्षा कारणों से) के लिए वर्तमान निर्देशिका को नहीं खोजता है।

.यदि आप वर्तमान निर्देशिका को कमांड के तर्क के रूप में पास करना चाहते हैं तो सिंगल डॉट का भी उपयोग किया जाता है।


1
PowerShell में भी शामिल नहीं है। निष्पादन योग्यताओं को खोजने के लिए पथ सूची में।
जॉय

कैसे गुजरेंगे '।' एक कमांड के तर्क के रूप में?
कलन

@DeFu आप उदाहरण के लिए, एक बिंदु के रूप में डॉट पारित:ls .
Hasen

ls जैसे ही कार्य करता हैls .
कलन

@DeFu अच्छी तरह से हाँ, लेकिन जब आप करते ls .हैं तो आप गुजर रहे हैं । ' 'ls' के तर्क के रूप में; ऐसा नहीं है कि तुमने क्या पूछा? यह समान कार्य करता है क्योंकि डिफ़ॉल्ट रूप lsसे वर्तमान निर्देशिका को सूचीबद्ध करता है, और .वर्तमान निर्देशिका है। लेकिन आप इसे कमांड के पास भेज रहे हैं , निश्चित रूप से।
hasen

5

द। वर्तमान निर्देशिका है। आपको इसका उपयोग करने की शायद ही कभी आवश्यकता होती है; अधिकांश कमांड वर्तमान निर्देशिका मान लेंगे। .. अगला स्तर ऊपर है; यह एक उपयोगी शॉर्टकट है। यदि आप C: \ foo \ bar में हैं और आप C: \ foo \ bar2 में जाना चाहते हैं तो आप कह सकते हैं

cd ..\bar2

और आप C: \ foo \ bar2 में होंगे। यदि आप बार 2 में नहीं जाना चाहते हैं, लेकिन केवल C: \ foo \ bar.exe चलाना चाहते हैं, तो आप कह सकते हैं

..\bar.exe

या .. पैरेंट डाइरेक्टरी में वापस जाने के बिना इसे चलाने के लिए बार। बेशक, यह तब अधिक उपयोगी होता है जब आप इसे एक लंबे पथ का प्रतिनिधित्व करते हैं जो C: \ foo (जैसे "C: \ Users \ Daniel \ My Dropbox \" होता है।


1
मुझे लगता है । कई बार काफी उपयोगी हो सकता है, खासकर जब फ़ाइलों को चालू स्थान पर कॉपी या स्थानांतरित करना ( copy F:\*.foo .या इसका संदर्भ देना) अन्यथा ( start .वर्तमान निर्देशिका में एक्सप्लोरर को खोलता है, उदाहरण के लिए)।
जॉय

3

वे खड़े हैं:

.

वर्तमान dir

.. 

जनक dir का प्रतिनिधित्व करता है

इसलिए यदि आपके पास निष्पादन योग्य "su.exe" है:

  • आपका पथ वातावरण चर (C: \ MyExecutables \ su.exe कहते हैं)
  • आपका वर्तमान dir
  • आपके माता पिता

आप हर एक को इस तरह निष्पादित कर सकते हैं:

 su.exe  

पथ में एक को निष्पादित करता है

.\su.exe 

मौजूदा dir में एक को निष्पादित करता है

..\su.exe

माता-पिता में एक को निर्वासित करता है।

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