Computer >> कंप्यूटर ट्यूटोरियल >  >> समस्या निवारण >> Linux

बैश में स्पेस वाले फाइलनामों को पास करना कैसे संभालें

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

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

बैश में, यदि आप बिना एस्केप कैरेक्टर (\) या कोटेशन्स के कई शब्द टाइप करते हैं, तो यह सभी शब्दों को आर्गुमेंट्स मानेगा। यह सभी ऑपरेशन्स पर लागू होता है, चाहे आप 'cd' से डायरेक्टरी बदल रहे हों या 'cat' कमांड्स से फाइलें एक्सेस करने का प्रयास कर रहे हों। इनका उपयोग करने के बाद आप जो कुछ भी लिखते हैं उसे एक आर्गुमेंट माना जाएगा। उदाहरण के लिए:

cat file name.txt

नोट: आपका फाइलनाम कुछ भी हो सकता है लेकिन इस लेख के लिए, हम उदाहरण के रूप में "file name.txt" का उपयोग करेंगे।

यहां 'cat' कमांड file और name को एक सिंगल आर्गुमेंट के बजाय दो आर्गुमेंट्स मानेगा। हालांकि, यदि आप एस्केप कैरेक्टर या कोटेशन्स का उपयोग करते हैं तो बैश शेल उसे एक सिंगल आर्गुमेंट मानेगा, जो "file name.txt" होगा।

बैश में स्पेस वाले फाइलनाम

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

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

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

    cd Desktop

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

  3. स्पेस वाले नाम की टेक्स्ट फाइल पढ़ने के लिए निम्न कमांड टाइप करें:
    cat 'file name.txt'
    या
    cat "file name.txt"
  4. सिंगल और डबल कोटेशन्स का परिणाम समान होगा। कुछ मामलों में, आपको दोनों को आजमाने की जरूरत है और देखें कि कौन सा काम करता है।

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

  1. Ctrl + Alt कुंजियों को दबाए रखें और T दबाकर Terminal खोलें।
  2. निम्न कमांड का उपयोग करके उस डायरेक्टरी में बदलें जहां फाइल स्थित है।
    cd Desktop

    नोट: Desktop के स्थान पर अपना स्थान नाम डालें।

  3. अब कमांड टाइप करें और नाम में जहां भी स्पेस हो वहां एस्केप कैरेक्टर का उपयोग करें:
    cat file\ name.txt

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

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

  1. लिनक्स के साथ ISO फाइलें कैसे निकालें लिनक्स के साथ ISO फाइलें कैसे निकालें

    आपने शायद पहले एक इमेज फाइल डाउनलोड की है, और एक अच्छा मौका है कि इसने लोकप्रिय ISO फाइल एक्सटेंशन का उपयोग किया हो। ये (आमतौर पर काफी बड़ी) फाइलें अनिवार्य रूप से ऑप्टिकल मीडिया डिस्क के डिजिटल संस्करण हैं। उस डिस्क पर मौजूद सभी फाइलें ISO आर्काइव के अंदर हैं। Apple macOS और Microsoft Windows के नए

  1. मैटप्लॉटलिब के साथ एसिम्पटोट/डिस्कंटिन्यूइटी को कैसे हैंडल करें? मैटप्लॉटलिब के साथ एसिम्पटोट/डिस्कंटिन्यूइटी को कैसे हैंडल करें?

    मैटप्लॉटलिब के साथ एसिम्पटोट/डिस्कंटिन्यूइटी को हैंडल करने के लिए, हम निम्नलिखित चरण अपना सकते हैं: नम्पाई का उपयोग करके x और y डेटा पॉइंट्स बनाएं। एक्सिस प्लॉट को बंद करें। x और y डेटा पॉइंट्स के साथ लाइन प्लॉट करें। एक्सिस के पार एक क्षैतिज रेखा जोड़ें, x=0। एक्सिस के पार एक लंबवत रेखा जोड़ें, y

  1. बैश एलियास के साथ 7z कम्प्रेशन को कैसे सरल बनाएं बैश एलियास के साथ 7z कम्प्रेशन को कैसे सरल बनाएं

    आपकी फ़ाइलों को सिकोड़ने के कई तरीके और कई उपकरण हैं, या तो उनके द्वारा लिए जाने वाले स्थान को कम करने के लिए या उन्हें एक पैकेज के रूप में किसी संपर्क को भेजने के लिए। इनमें से, 7-Zip अपने शानदार प्रदर्शन और शून्य लागत के साथ कम्प्रेशन स्तरों के अनूठे संयोजन के कारण अधिकांश उपयोगकर्ताओं के लिए शीर्