सिस्टम के लिए कमांड निष्पादित करने के लिए लिनक्स में एक डिफ़ॉल्ट शेल बैश (उर्फ बॉर्न अगेन शेल) है। लचीलेपन और शक्तिशाली कमांड लाइन दुभाषिया जो बैश प्रदान करता है, के कारण अधिकांश प्रोग्रामर cmd पर बैश पसंद करते हैं। हालाँकि, अधिकांश उपयोगकर्ताओं को अभी भी बैश में रिक्त स्थान वाले फ़ाइलनामों को संभालने का प्रयास करते समय समस्याएँ होंगी। ऐसा इसलिए है क्योंकि रिक्त स्थान को बैश में वैसा नहीं माना जाता है जैसा कि वे फ़ाइल नामों में होते हैं।
रिक्त स्थान वाले फ़ाइलनाम को बैश द्वारा मान्यता प्राप्त क्यों नहीं है?
बैश में, यदि आप एस्केप . के बिना एक से अधिक शब्द टाइप करते हैं वर्ण (\) या उद्धरण , यह सभी शब्दों को तर्क के रूप में मानेगा। यह सभी कार्यों के लिए लागू होता है, चाहे आप 'cd . के साथ निर्देशिका बदल रहे हों ' या 'बिल्ली . के साथ फाइलों तक पहुंचने की कोशिश कर रहा है 'आदेश। इनका उपयोग करने के बाद आप जो कुछ भी लिखेंगे उसे तर्क माना जाएगा। उदाहरण के लिए:
cat file name.txt
नोट :आपका फ़ाइल नाम कुछ भी हो सकता है लेकिन इस लेख के लिए, हम “file name.txt” का उपयोग करेंगे। उदाहरण के तौर पर।
यहाँ 'बिल्ली ' आदेश फ़ाइल पर विचार करेगा और नाम एक तर्क के बजाय दो तर्कों के रूप में। हालाँकि, यदि आप एस्केप कैरेक्टर या कोटेशन का उपयोग करते हैं तो बैश शेल इसे एक एकल तर्क के रूप में मानेगा, जो कि “file name.txt) होगा। ".
बैश में रिक्त स्थान के साथ फ़ाइल नाम
कुछ विधियाँ हैं जिनका उपयोग नाम में रिक्त स्थान के लिए किया जा सकता है। भविष्य में फ़ाइल नामों के लिए रिक्त स्थान से बचना सबसे अच्छा अभ्यास है। उस फ़ाइल का नाम बदलने का एक आसान तरीका होगा जिसे आप एक्सेस करने और रिक्त स्थान को हटाने का प्रयास कर रहे हैं। कुछ अन्य विधियां रिक्त स्थान के साथ फ़ाइल नाम पर सिंगल या डबल कोटेशन का उपयोग कर रही हैं या स्पेस से ठीक पहले एस्केप (\) प्रतीक का उपयोग कर रही हैं। यह कैसे काम करता है, यह दिखाने के लिए हम लागू उदाहरणों के साथ विधियां प्रदान करेंगे।
विधि 1:सिंगल और डबल कोटेशन का उपयोग करना
- होल्ड करें Ctrl + Alt कुंजियाँ और T Press दबाएँ टर्मिनल खोलने के लिए ।
- अब निर्देशिका को उस स्थान पर बदलें जहां फ़ाइल स्थित है।
(आप खींचें भी कर सकते हैं और छोड़ें 'बिल्ली . आदेश के बाद टर्मिनल में फ़ाइल ', जो स्वचालित रूप से फ़ाइल पथ/निर्देशिका पर उद्धरण डाल देगा)cd Desktop
नोट :डेस्कटॉप को उस स्थान पर बदला जा सकता है जहां आप पहुंचने का प्रयास कर रहे हैं।
- नाम में रिक्त स्थान वाली टेक्स्ट फ़ाइल को पढ़ने के लिए निम्न कमांड टाइप करें:
cat 'file name.txt'
या
cat "file name.txt"
- सिंगल और डबल कोटेशन के परिणाम समान होंगे। कुछ मामलों में, आपको दोनों को आज़माना होगा और देखना होगा कि कौन सा काम करता है।
विधि 2:बैकलैश एस्केप कैरेक्टर का उपयोग करना
- होल्ड करें Ctrl + Alt कुंजियाँ और T Press दबाएँ टर्मिनल खोलने के लिए ।
- निम्न आदेश का उपयोग करके निर्देशिका को उस स्थान पर बदलें जहां फ़ाइल स्थित है।
cd Desktop
नोट :अपने स्थान का नाम डेस्कटॉप के स्थान पर रखें।
- अब कमांड टाइप करें और एस्केप का उपयोग करें चरित्र कहीं भी नाम में जगह है:
cat file\ name.txt
बोनस:कोटेशन और एस्केप का उपयोग
कभी-कभी जब आप कमांड में निर्देशिका का उपयोग कर रहे होते हैं, तो समग्र पथ पर उद्धरणों का उपयोग करने के परिणाम हो सकते हैं। ऐसा इसलिए है क्योंकि कुछ कमांड जैसे 'mv ' या 'cp पथ को फ़ाइल स्रोत के रूप में मानेगा यदि कोटेशन का प्रयोग पूर्ण रूप से किया जाता है। आपको स्रोत . दोनों के लिए कोटेशन प्रदान करने की आवश्यकता है और गंतव्य अलग-अलग ताकि कमांड जैसे 'cp ' ठीक से काम कर सकता है। आप नीचे दिए गए उदाहरण को भी देख सकते हैं जो आपको दिखाएगा कि पथ के लिए एस्केप कैरेक्टर का उपयोग करना अधिक जटिल है और उपयोगकर्ता इसमें गलती कर सकते हैं।