कैसे बैश में रिक्त स्थान के साथ पासिंग फाइलनाम को संभालें



समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें

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



नाम में रिक्त स्थान के साथ फ़ाइलें



स्पेस के साथ फाइलनाम को बैश द्वारा मान्यता प्राप्त क्यों नहीं है?

बैश में, यदि आप बिना एकाधिक शब्द टाइप करते हैं पलायन चरित्र () या कोटेशन , यह सभी शब्दों को तर्क के रूप में मानेगा। यह सभी कार्यों के लिए लागू होता है, चाहे आप the के साथ निर्देशिका बदल रहे हों सीडी To या to के साथ फ़ाइलों का उपयोग करने की कोशिश कर रहा बिल्ली ‘आज्ञा देता है। इनका उपयोग करने के बाद आप जो कुछ भी लिखते हैं उसे एक तर्क माना जाएगा। उदाहरण के लिए:



cat फ़ाइल name.txt

भागने चरित्र या कोटेशन का उपयोग किए बिना कमांड चलाना

ध्यान दें : आपका फ़ाइल नाम कुछ भी हो सकता है, लेकिन इस लेख के लिए, हम ' फ़ाइल का नाम ' उदाहरण के तौर पे।

यहाँ ' बिल्ली Consider आज्ञा मानेंगे फ़ाइल तथा नाम एक तर्क के बजाय दो तर्क। हालाँकि, यदि आप एस्केप कैरेक्टर या कोटेशन का उपयोग करते हैं तो बैश शेल एक एकल तर्क के रूप में विचार करेगा, जो ' फ़ाइल का नाम '।



बैश में रिक्त स्थान के साथ नाम

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

विधि 1: सिंगल और डबल कोटेशन का उपयोग करना

  1. होल्ड Ctrl + Alt चाबियाँ और प्रेस टी खोलना टर्मिनल
  2. अब निर्देशिका को बदलें जहां फ़ाइल स्थित है।
    (आप भी कर सकते हैं खींचना तथा ड्रॉप कमांड file के बाद टर्मिनल में फाइल बिल्ली Automatically, जो स्वचालित रूप से फ़ाइल पथ / निर्देशिका पर कोटेशन लगाएगा)

    सीडी डेस्कटॉप

    निर्देशिका बदलना

    ध्यान दें : डेस्कटॉप को उस स्थान पर बदला जा सकता है जिसे आप एक्सेस करने का प्रयास कर रहे हैं।

  3. नाम में रिक्त स्थान के साथ एक पाठ फ़ाइल पढ़ने के लिए निम्न कमांड टाइप करें:
    बिल्ली 'फ़ाइल name.txt'

    या

    बिल्ली 'फ़ाइल name.txt'

    नाम त्रुटि में रिक्त स्थान से बचने के लिए कोटेशन का उपयोग करना

  4. एकल और दोहरे उद्धरण समान होंगे। कुछ मामलों में, आपको दोनों की कोशिश करने और यह देखने की जरूरत है कि कौन सा काम करता है।

विधि 2: बैकलैश एस्केप कैरेक्टर का उपयोग करना

  1. होल्ड Ctrl + Alt चाबियाँ और प्रेस टी खोलना टर्मिनल
  2. निम्न कमांड का उपयोग करके निर्देशिका को उस स्थान पर बदलें जहाँ फ़ाइल स्थित है।
    सीडी डेस्कटॉप

    ध्यान दें : अपना स्थान नाम डेस्कटॉप के स्थान पर रखें।

  3. अब कमांड टाइप करें और उपयोग करें पलायन नाम में कहीं भी चरित्र है:
    कैट फ़ाइल  name.txt

    रिक्त स्थान की त्रुटि से बचने के लिए एस्केप चरित्र का उपयोग करना

बोनस: कोटेशन और एस्केप का उपयोग

कभी-कभी जब आप कमांड में डायरेक्टरी का उपयोग कर रहे होते हैं, तो समग्र पथ पर कोटेशन का उपयोग करने के परिणाम हो सकते हैं। ऐसा इसलिए है क्योंकि कुछ कमांड like एमवी ‘या‘ सीपी Path के रूप में पथ पर विचार करेंगे फ़ाइल स्रोत यदि उद्धरण पूरे पर प्रयोग किया जाता है। आपको दोनों के लिए उद्धरण प्रदान करने की आवश्यकता है स्रोत तथा गंतव्य व्यक्तिगत रूप से ताकि कमांड ‘ सीपी Properly ठीक से काम कर सकते हैं। आप नीचे दिए गए उदाहरण की भी जांच कर सकते हैं जो आपको दिखाएंगे कि पथ के लिए भागने चरित्र का उपयोग करना अधिक जटिल है और उपयोगकर्ता इसके साथ गलती कर सकते हैं।

कोटेशन और एस्केप कैरेक्टर के बीच का अंतर

2 मिनट पढ़ा