[१००]
[१०१]लिनक्स पर फ़ाइल नाम में रिक्त स्थान से कैसे निपटें[१०२]
[१०३]
[१०४]अधिकांश ऑपरेटिंग सिस्टम की तरह, लिनक्स उनमें रिक्त स्थान के साथ फ़ाइल नाम का समर्थन करता है। लेकिन कमांड लाइन पर इन फ़ाइल नामों का उपयोग करना हमेशा सीधा नहीं होता है। यहां कई तरीके हैं जिनसे आप रिक्त स्थान युक्त फ़ाइल नाम संभाल सकते हैं।[१०५]
[१०४]
[१० []विनम्र फ़ाइल नाम[१० []
[१०९]
[११०]लिनक्स फ़ाइल नामों में रिक्त स्थान एक दर्द क्यों हैं[१० []
[१०९]
[११३]कैसे उद्धरण और बचने के लिए रिक्त स्थान[१० []
[१०९]
[११६]अपने स्रोत पर अंतरिक्ष समस्या को कैसे ठीक करें[१० []
[१०९]
[११९]टैब विस्तार रिक्त स्थान से निपटने में आसान बनाता है[१० []
[१०९]
[१२२]बैश स्क्रिप्ट में रिक्त स्थान के साथ फ़ाइल नाम का उपयोग कैसे करें[१० []
[१०९]
[१२५]बाहर फैला हुआ है, लेकिन परतदार नहीं है[१० []
[१०९]
[१०५]
[१२९]
[१३०]
[१० []विनम्र फ़ाइल नाम[१३२]
[१०४]आपके कंप्यूटर पर सब कुछ संग्रहीत है[१३४]हार्ड ड्राइव[१३५]एक नाम रखने की जरूरत है। एक नाम के बिना, कोई फाइलें मौजूद नहीं होंगी। आपके कंप्यूटर के बूट होने पर लॉन्च किए जाने वाले सभी एप्लिकेशन और डेमन्स, और आपके द्वारा उपयोग किए जाने वाले सभी सॉफ़्टवेयर को एक फ़ाइल सिस्टम में पहचाना और संग्रहीत किया जाना चाहिए। यह पहचान फ़ाइल का नाम है। '[१०५]
[१३ []
[१०४]एक ही चीज़ उन फ़ाइलों पर लागू होती है जिन्हें आप बनाते हैं या इंस्टॉल करते हैं। आपके सभी दस्तावेज, चित्र और संगीत को फ़ाइल नाम की आवश्यकता है। फ़ाइल नाम के बिना, आपकी कोई भी डिजिटल संपत्ति मौजूद नहीं हो सकती है। क्योंकि फ़ाइल नाम इतने महत्वपूर्ण हैं, लिनक्स अपनी रचना के बारे में कुछ नियमों के रूप में थोपने की कोशिश करता है जैसा कि यह हो सकता है।[१०५]
[१०४]लिनक्स पर, एक फ़ाइल नाम में आगे स्लैश के अलावा कोई भी चरित्र हो सकता है "[१४१]
/
[१४२]"और अशक्त चरित्र,[१४१]0x00[१४२]। अशक्त वर्ण का उपयोग एक स्ट्रिंग के अंत को चिह्नित करने के लिए किया जाता है, इसलिए यह स्ट्रिंग में ही मौजूद नहीं हो सकता है, या लिनक्स शून्य चरित्र की स्थिति में फ़ाइल नाम को काट देगा। "[१४१]
/
[१४२]“फॉरवर्ड स्लैश का उपयोग निर्देशिका पथों में विभाजक के रूप में किया जाता है।[१०५]
[१०४]फ़ाइल नाम केस-संवेदनशील हैं,[१४९]और 255 बाइट्स तक लंबा हो सकता है[१० [], अशक्त चरित्र सहित। निर्देशिका पथ 4096 बाइट्स लंबे हो सकते हैं, जिसमें अशक्त चरित्र भी शामिल है। ध्यान दें कि यह उनकी लंबाई है[१५१]बाइट्स[१५२], जो सीधे समान नहीं हो सकता है[१५१]पात्र[१५२]। 16-बिट यूनिकोड वर्ण, उदाहरण के लिए, प्रत्येक दो बाइट्स लें।[१०५]
[१०४]रेट्रो-कंप्यूटिंग उत्साही और लंबी यादों वाले लोगों को पता होगा कि व्यक्तिगत कंप्यूटर के शुरुआती दिनों में,[१५ []माइक्रोसॉफ्ट का डिस्क ऑपरेटिंग सिस्टम[१० [], डॉस, केस-असंवेदनशील था और आठ वर्णों की एक फ़ाइल नाम सीमा थी, साथ ही तीन-वर्ण भी[१५९]विस्तार[१३५]
।
[१०५]
[१०४]जब आप फ़ाइलों का नाम देते हैं तो आपको बहुत विचारशील और कभी -कभी रचनात्मक होना पड़ता था। तुलनात्मक रूप से, आज हमारे पास जो स्वतंत्रता है, उसका मतलब है कि हम जो कुछ भी चाहते हैं, उसका नाम ले सकते हैं, उस फ़ाइल के लिए जो विवरण हम बना रहे हैं, उसके अलावा किसी भी चीज़ के बारे में थोड़ा सोचा।[१०५]
[१०४]लेकिन फ़ाइलनामों के साथ, जो हमें सबसे अधिक बार यात्रा करता है, वह हमारे द्वारा टाइप करने वाले पात्रों के लिए नहीं होता है, यह उनके बीच के रिक्त स्थान है।[१०५]
[१२९]
[१६ []
[१० []लिनक्स फ़ाइल नामों में रिक्त स्थान एक दर्द क्यों हैं[१३२]
[१०४]बैश जैसे गोले अलग-अलग कमांड तर्कों के रूप में शब्दों के एक अंतरिक्ष-पृथक स्ट्रिंग की व्याख्या करेंगे, एक भी तर्क नहीं। यहाँ एक उदाहरण है, उपयोग करना[१४१]छूना[१४२]
को
[१ [३]एक नई फ़ाइल बनाएं[१३५]"मेरी नई फ़ाइल।" कहा जाता है।[१०५]
[१ [६]
[१०४]जैसा कि हम देख सकते हैं,[१४१]रास[१४२]हमें दिखाता है कि तीन फाइलें बनाई गई हैं, जिन्हें "माई" कहा जाता है, एक और जिसे "नया" कहा जाता है, और एक और जिसे "file.txt" कहा जाता है।[१०५]
[१०४]ध्यान दें कि[१४१]छूना[१४२]कोई त्रुटि नहीं है या कोई त्रुटि नहीं है। यह वहन करता है जो यह सोचता है कि हम इसे करने के लिए कह रहे हैं। तो यह चुपचाप हमें कमांड लाइन पर लौटाता है। यदि हम जांच करने के लिए प्रेरित नहीं हैं, तो हमें पता नहीं है कि योजना के अनुसार चीजें नहीं हैं।[१०५]
[१०४]हम जिस फ़ाइल को चाहते थे, उसे बनाने के लिए, हमें उद्धरण या बचने के लिए मिला है।[१०५]
[१२९]
[१ [[]]
[१० []कैसे उद्धरण और बचने के लिए रिक्त स्थान[१३२]
[१०४]अगर हम पूरे फ़ाइल नाम को उद्धृत करते हैं,[१४१]छूना[१४२]जानता है कि यह उद्धृत पाठ को एकल तर्क के रूप में मानने की आवश्यकता है।[१०५]
[१ ९ ५]
[१०४]इस बार हमें वह एकल फ़ाइल मिलती है जिसकी हम उम्मीद करते हैं।[१०५]
[१०४]यदि हम बैकस्लैश चरित्र का उपयोग करते हैं तो हम एक ही परिणाम प्राप्त कर सकते हैं "[१४१]\ _[१४२]"रिक्त स्थान से बचने के लिए। उन रिक्त स्थानों से "बचने" के द्वारा उन्हें विशेष वर्णों के रूप में नहीं माना जाता है - यानी, तर्क विभाजक - जिन्हें सादे पुराने स्थान माना जाता है।[१०५]
[२०२]
[१०४]यह काम करता है, लेकिन भागने से बचने के लिए टाइपिंग फ़ाइल नाम धीमी और त्रुटि-प्रवण बनाता है। यदि आपके पास रिक्त स्थान के साथ निर्देशिका नाम भी हैं तो चीजें वास्तव में बदसूरत हो सकती हैं।[१०५]
[२०५]
[१०४]यह कमांड एक निर्देशिका से एक एकल पाठ फ़ाइल को कॉपी करता है जिसे "डायर वन" नामक एक निर्देशिका में "डायर टू" कहा जाता है, और कॉपी को बेक फ़ाइल के रूप में सहेजता है। और यह एक काफी सरल उदाहरण है।[१०५]
[१२९]
[२०९]
[१० []अपने स्रोत पर अंतरिक्ष समस्या को कैसे ठीक करें[१३२]
[१०४]यदि वे आपकी अपनी फाइलें हैं, तो आप कभी भी रिक्त स्थान का उपयोग करने के लिए पॉलिसी निर्णय ले सकते हैं, और बना सकते हैं (या (या[२१३]थोक नाम[१३५]) इस तरह से फ़ाइल नाम।[१०५]
[१०४]बेशक, यह एक मजबूत समाधान है, लेकिन यह अभी भी बदसूरत है। बेहतर विकल्प हैं, जैसे कि डैश का उपयोग करना "[१४१]
-
[१४२]"या अंडरस्कोर्स"[१४१]
_
[१४२]“अपने शब्दों को अलग करने के लिए।[१०५]
[१०४]ये दोनों समस्या को दूर कर देंगे, और वे पठनीय हैं। यदि आप अपने फ़ाइलनामों में अतिरिक्त वर्ण जोड़ना नहीं चाहते हैं, तो आप उपयोग कर सकते हैं[२२३]टेढ़े - मेढ़े लिखावट वाले बड़े संयुक्त शब्द[१० []अपने फ़ाइल नाम को पठनीय बनाने के लिए, इस तरह:[१०५]
[१२९]
[२२ []
[१० []टैब विस्तार रिक्त स्थान से निपटने में आसान बनाता है[१३२]
[१०४]बेशक, एक नामकरण सम्मेलन को अपनाने और उस पर चिपके रहने से तभी मदद मिलेगी जब आप अपनी खुद की फ़ाइलों के साथ काम कर रहे हों। जो फ़ाइलें कहीं से भी आती हैं, वे आपके अपनाए गए नामकरण सम्मेलन का पालन करने की संभावना नहीं रखते हैं।[१०५]
[१०४]आप हमारे लिए सही "भरने" की मदद करने के लिए टैब विस्तार का उपयोग कर सकते हैं। हम कहते हैं कि हम चाहते हैं[२३३]मिटाना[१३५]BAK फ़ाइल जिसे हमने "DIR TWO" में बनाया है, का उपयोग करते हुए[१४१]आर एम[१४२]
।
[१०५]
[१०४]हम "आरएम dir" टाइप करके शुरू करते हैं क्योंकि हम उपयोग कर रहे हैं[१४१]आर एम[१४२]कमांड और हम जानते हैं कि निर्देशिका का नाम "dir" से शुरू होता है।[१०५]
[२४२]
[१०४]"टैब" कुंजी को दबाने से वर्तमान निर्देशिका में मैचों के लिए स्कैन करने का कारण बनता है।[१०५]
[२४५]
[१०४]दो निर्देशिकाएं हैं जो "dir" से शुरू होती हैं, और दोनों ही मामलों में अगला चरित्र एक स्थान है। तो बैश बैकस्लैश चरित्र को जोड़ता है "[१४१]\ _[१४२]"और एक स्थान। बैश फिर अगले चरित्र को प्रदान करने के लिए हमारे लिए इंतजार करता है। इस निर्देशिका में दो संभावित मैचों के बीच अंतर करने के लिए अगले चरित्र की आवश्यकता है।[१०५]
[१०४]हम "दो" के लिए एक "टी" टाइप करेंगे, और फिर एक बार फिर "टैब" दबाएं।[१०५]
[२५२]
[१०४]बैश हमारे लिए निर्देशिका नाम पूरा करता है और फ़ाइल नाम की शुरुआत टाइप करने के लिए हमारे लिए इंतजार करता है।[१०५]
[१०४]हमारे पास इस निर्देशिका में केवल एक फ़ाइल है, इसलिए फ़ाइल नाम, "एम" के पहले अक्षर को टाइप करना, बैश को यह बताने के लिए पर्याप्त है कि हम किस फ़ाइल का उपयोग करना चाहते हैं। "एम" टाइप करना और "टैब" दबाने से हमारे लिए फ़ाइल नाम पूरा हो जाता है, और "एंटर" पूरे कमांड को निष्पादित करता है।[१०५]
[२५ []
[१०४]टैब विस्तार से यह सुनिश्चित करना आसान हो जाता है कि आप फ़ाइल नाम सही प्राप्त करें, और यह सामान्य रूप से कमांड लाइन पर नेविगेटिंग और टाइपिंग को गति देता है।[१०५]
[१०४]
[२६१]संबंधित:[१३५]
[२६३]
[२६१]
[१५१]किसी भी ऑपरेटिंग सिस्टम पर तेजी से कमांड टाइप करने के लिए टैब पूरा होने का उपयोग करें[१५२]
[१३५]
[१३५]
[१०५]
[१२९]
[१० []बैश स्क्रिप्ट में रिक्त स्थान के साथ फ़ाइल नाम का उपयोग कैसे करें[१३२]
[१०४]यह कोई आश्चर्य की बात नहीं हैलिपियों[१३५]कमांड लाइन के रूप में फ़ाइल नाम में रिक्त स्थान के साथ बिल्कुल समान मुद्दे हैं। यदि आप एक चर के रूप में एक फ़ाइल नाम पारित कर रहे हैं, तो सुनिश्चित करें कि आप चर नाम को उद्धृत करते हैं।[१०५]
[१०४]यह छोटी स्क्रिप्ट फ़ाइलों के लिए वर्तमान निर्देशिका की जाँच करती है जो फ़ाइल पैटर्न "*.txt" से मेल खाती है, और उन्हें एक चर में संग्रहीत करती है[१४१]file_list[१४२]
।
[२१]
ए
[१४१]के लिए[१४२]कुंडली[१३५]प्रत्येक पर एक साधारण कार्रवाई करने के लिए उपयोग किया जाता है।[१०५]
[१०४]इस पाठ को एक संपादक में कॉपी करें और इसे "Files.sh" नामक फ़ाइल में सहेजें। फिर उपयोग करें[२ [[]]
[१४१]चमोद[१४२]आज्ञा[१३५]इसे निष्पादन योग्य बनाने के लिए।[१०५]
[२ ९ २]
[१०४]हमें इस निर्देशिका में कुछ फाइलें मिलीं। एक का एक साधारण फ़ाइल नाम है, और अन्य दो उपयोग अंडरस्कोर "[१४१]
_
[१४२]"या डैश"[१४१]
-
[१४२]रिक्त स्थान के बजाय। जब हम स्क्रिप्ट चलाते हैं तो हम यही देखते हैं।[१०५]
[२९९]
[१०४]यह अच्छी तरह से काम करने लगता है। लेकिन उन फ़ाइलों के लिए निर्देशिका में फ़ाइलों को बदलते हैं जिनमें उनके नामों में रिक्त स्थान होते हैं।[१०५]
[३०२]
[१०४]प्रत्येक फ़ाइल नाम में प्रत्येक शब्द को संभाला जाता है, हालांकि यह अपने आप में एक फ़ाइल नाम था, और इसलिए स्क्रिप्ट विफल हो जाती है। लेकिन हम सभी को फ़ाइल नाम में स्क्रिप्ट हैंडल रिक्त स्थान बनाने के लिए बस को उद्धृत करना है[१४१]$ फ़ाइल[१४२]अंदर चर[१४१]के लिए[१४२]कुंडली।[१०५]
[१०४]ध्यान दें कि डॉलर का संकेत "[१४१]
$
[१४२]"उद्धरण के अंदर है। हमने उस परिवर्तन को बनाया और इसे "files.sh" स्क्रिप्ट फ़ाइल में सहेजा। इस बार, फ़ाइल नाम सही तरीके से संभाला जाता है।[१०५]
[३१३]
[१०४]
[२६१]संबंधित:[१३५]
[३१ []
[२६१]
[१५१]लिनक्स बैश स्क्रिप्ट में लाइन द्वारा एक फ़ाइल लाइन को कैसे संसाधित करने के लिए[१५२]
[१३५]
[१३५]
[१०५]
[१२९]
[३२५]
[१० []बाहर फैला हुआ है, लेकिन परतदार नहीं है[१३२]
[१०४]अपने स्वयं के फ़ाइलनामों में रिक्त स्थान से बचने से आपको केवल इतना ही ले जाएगा। यह अपरिहार्य है कि आप अन्य स्रोतों से फ़ाइलों का सामना करेंगे जिनमें उन नामों के साथ स्थान हैं जिनमें रिक्त स्थान हैं। शुक्र है, यदि आपको कमांड लाइन या स्क्रिप्ट में उन फ़ाइलों को संभालने की आवश्यकता है, तो ऐसा करने के आसान तरीके हैं।[१०५]
[३३०]