Ubuntu टर्मिनल में "cd \" और "cd /" कमांड के बीच अंतर क्या है?


10

देने पर cd \, मुझे अपनी निर्देशिका में साइन बदलने के >दौरान प्रतीक मिलता है ।cd /~/

इसके अलावा lsकमांड मुझे निर्देशिका दिखाता है जैसे dev, root, usrके मामले में cd /

जवाबों:


15

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

/सिर्फ एक फॉरवर्ड स्लैश है (मतलब डायरेक्टरी सेपरेटर )। बस इसके साथ /मूल का मतलब है, इसलिए उदाहरण ls /के लिए रूट की सामग्री को सूचीबद्ध करता है। वर्किंग डायरेक्टरी को बदलकर /, आपके शेल में इंडिकेटर ~(होम डायरेक्टरी के लिए कम, जैसे /home/gert/) से उस डायरेक्टरी में बदल जाते हैं, जो आप तब ( /) में हैं।


डेमो

$ touch a filename with spaces
$ ls -l
total 0
-rw-rw-r-- 1 gert gert 0 Jul  1 02:33 a
-rw-rw-r-- 1 gert gert 0 Jul  1 02:33 filename
-rw-rw-r-- 1 gert gert 0 Jul  1 02:33 spaces
-rw-rw-r-- 1 gert gert 0 Jul  1 02:33 with

अरे नहीं, नाम के साथ एक फ़ाइल बनाना मेरा उद्देश्य था a filename with spaces। तो, यहां हम \रिक्त स्थान से बचने के लिए स्थानों का उपयोग करते हैं। यह शेल को चार तर्कों को प्रदान करने से रोकता है touch, लेकिन इसमें शामिल रिक्त स्थान के साथ एक एकल प्रदान करता है।

touch a\ filename\ with\ spaces

$ touch a\ filename\ with\ spaces
$ ls -al
total 24
drwxrwxr-x  2 gert gert  4096 Jul  1 02:35 .
drwxrwxr-x 55 gert gert 20480 Jul  1 02:33 ..
-rw-rw-r--  1 gert gert     0 Jul  1 02:35 a filename with spaces

बेशक, उद्धरणों का उपयोग करके ( touch "a filename with spaces") एक ही चीज को प्राप्त कर सकते हैं।

इसका उपयोग नई वर्णमाला जैसे विशेष वर्णों को घोषित करने के लिए भी किया जाता है:

$ echo -e "bla\nnewline" # \n means a newline character
bla
newline

हमें -eयहां विकल्प की आवश्यकता है echo, क्योंकि जैसा कि मैनपेज ने इसे रखा है -e enable interpretation of backslash escapes:।


आगे के स्पष्टीकरण के लिए: ओपी के उदाहरण में, सीडी एंड-ऑफ-लाइन (रिटर्न कुंजी) से बच जाता है। इसका मतलब है कि टर्मिनल अभी भी बाकी कमांड का इंतजार कर रहा है। संकेत से >पता चलता है कि यह इंतजार कर रहा है। सामान्य संकेत वर्तमान निर्देशिका को दिखाता है, यही कारण है कि यह /उपयोग करने के बाद दिखाता है cd /~आपकी होम निर्देशिका है, जिसके कारण यह पता चलता है के लिए कम हाथ है ~बजाय /home/user
धान लैंडौ

1

यदि आप एक बैकस्लैश दर्ज करते हैं, तो आप कई लाइनों पर अपने कॉमन को दर्ज कर सकते हैं। यह वही है जो उपसर्ग '>' के लिए खड़ा है।


1

>संकेत का मतलब है कि शीघ्र अधिक इनपुट करने के लिए आप के लिए इंतज़ार कर रहा है, क्योंकि पिछला आदेश अधूरा था। आप इसे किसी भी चीज़ के साथ नहीं, बल्कि फिर से बना सकते हैं cd। बस टाइप करें whateveryouwant\, और आपको मिलेगा >

जिस हिस्से को आप देखते हैं ~वह वर्तमान कार्यशील निर्देशिका को दर्शाता है। कार्यशील निर्देशिका को बदलने के लिए, आप कमांड का उपयोग करते हैं cd, जिसका अर्थ है निर्देशिका (फ़ोल्डर) को बदलें। इसलिए यदि आप ऐसा करते हैं cd /, तो यह निर्देशिका को बदल देता है /। यदि आप करते हैं cd /usr/bin, तो यह बदल जाएगा /usr/bin, और इसी तरह।

lsवर्तमान निर्देशिका / फ़ोल्डर में क्या है यह सूचीबद्ध करने के लिए एक कमांड है। इसलिए, यदि आप करते हैं cd /(मतलब आपने निर्देशिका को बदल दिया है /), lsतो वहां जो भी फाइलें और फ़ोल्डर हैं , उन्हें सूचीबद्ध करेगा। यदि आप करते हैं cd /etc/और फिर ls, यह उन फ़ाइलों और फ़ोल्डरों को सूचीबद्ध करेगा जो अंदर हैं /etc/, और इसी तरह।


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