पथनाम विस्तार
वह तंत्र जिसके द्वारा वाइल्डकार्ड कार्य करते हैं, कहलाते हैं पथनाम विस्तार. यदि हम कुछ तकनीकों को आज़माएँ जिन्हें हमने अपने पिछले अध्यायों में नियोजित किया था, तो हम देखेंगे कि वे वास्तव में विस्तार हैं। एक होम निर्देशिका दी गई है जो इस तरह दिखती है:
[मुझे@लिनक्सबॉक्स ~]$ ls | ||
डेस्कटॉप ls-output.txt | तस्वीरें | टेम्पलेट्स |
दस्तावेज़ संगीत | सार्वजनिक | वीडियो |
हम निम्नलिखित विस्तार कर सकते हैं:
[मुझे@लिनक्सबॉक्स ~]$ इको डी*
डेस्कटॉप दस्तावेज़
[मुझे@लिनक्सबॉक्स ~]$ इको डी*
डेस्कटॉप दस्तावेज़
तथा:
[मुझे@लिनक्सबॉक्स ~]$ प्रतिध्वनि *एस
दस्तावेज़ चित्र टेम्पलेट वीडियो
[मुझे@लिनक्सबॉक्स ~]$ प्रतिध्वनि *एस
दस्तावेज़ चित्र टेम्पलेट वीडियो
या और भी:
[मुझे@लिनक्सबॉक्स ~]$ प्रतिध्वनि [[:ऊपरी:]]*
डेस्कटॉप दस्तावेज़ संगीत चित्र सार्वजनिक टेम्पलेट वीडियो
[मुझे@लिनक्सबॉक्स ~]$ प्रतिध्वनि [[:ऊपरी:]]*
डेस्कटॉप दस्तावेज़ संगीत चित्र सार्वजनिक टेम्पलेट वीडियो
और हमारी होम निर्देशिका से परे देख रहे हैं:
[मुझे@लिनक्सबॉक्स ~]$ प्रतिध्वनि /usr/*/शेयर
/usr/kerberos/शेयर /usr/स्थानीय/शेयर
[मुझे@लिनक्सबॉक्स ~]$ प्रतिध्वनि /usr/*/शेयर
/usr/kerberos/शेयर /usr/स्थानीय/शेयर
छिपी हुई फ़ाइलों का पथनाम विस्तार
जैसा कि हम जानते हैं, किसी अवधि वर्ण से शुरू होने वाले फ़ाइल नाम छिपे होते हैं। पथनाम विस्तार भी इस व्यवहार का सम्मान करता है। एक विस्तार जैसे:
गूंज *
छुपी हुई फ़ाइलें प्रकट नहीं करता.
पहली नज़र में ऐसा लग सकता है कि हम पैटर्न को अग्रणी अवधि के साथ शुरू करके विस्तार में छिपी हुई फ़ाइलों को शामिल कर सकते हैं, जैसे:
प्रतिध्वनि.*
यह लगभग काम करता है. हालाँकि, यदि हम परिणामों की बारीकी से जाँच करें, तो हम देखेंगे कि नाम "।" और ".." भी परिणामों में दिखाई देगा। चूँकि ये नाम वर्तमान कार्यशील निर्देशिका और इसकी मूल निर्देशिका को संदर्भित करते हैं, इस पैटर्न का उपयोग करने से संभवतः गलत परिणाम प्राप्त होगा। यदि हम कमांड आज़माएँ तो हम इसे देख सकते हैं:
एलएस -डी .* | कम
इस स्थिति में पथनाम विस्तार को बेहतर ढंग से करने के लिए, हमें एक अधिक विशिष्ट पैटर्न नियोजित करना होगा:
प्रतिध्वनि .[!.]*
यह पैटर्न प्रत्येक फ़ाइल नाम में विस्तारित होता है जो एक अवधि से शुरू होता है, इसमें दूसरी अवधि शामिल नहीं होती है, और उसके बाद कोई अन्य वर्ण शामिल होता है। यह अधिकांश छिपी हुई फ़ाइलों के साथ सही ढंग से काम करेगा (हालाँकि इसमें अभी भी एकाधिक अग्रणी अवधि वाले फ़ाइल नाम शामिल नहीं होंगे)। ls के साथ कमान -A विकल्प ("लगभग सभी") छिपी हुई फ़ाइलों की सही सूची प्रदान करेगा:
एलएस -ए