बैश मैन पेज के अनुसार:
bash प्रत्येक शब्द को अक्षर *,; और [के लिए स्कैन करता है। यदि इनमें से कोई एक अक्षर दिखाई देता है, तो शब्द को एक पैटर्न के रूप में माना जाता है, और पैटर्न से मेल खाने वाले फ़ाइल नामों की वर्णानुक्रम में क्रमबद्ध सूची के साथ प्रतिस्थापित किया जाता है
और ls के लिए जानकारी नोड से
'Ls' प्रोग्राम फाइलों (किसी भी प्रकार, निर्देशिका सहित) के बारे में जानकारी को सूचीबद्ध करता है। विकल्प और फ़ाइल तर्क हमेशा की तरह, मनमाने ढंग से जुड़े हो सकते हैं।
गैर-विकल्प कमांड-लाइन तर्कों के लिए जो निर्देशिकाएं हैं, डिफ़ॉल्ट रूप से 'ls' निर्देशिका की सामग्री को सूचीबद्ध करता है, पुनरावर्ती रूप से नहीं, और 'से शुरू होने वाले नामों के साथ फ़ाइलों को छोड़ देता है।'। अन्य गैर-विकल्प तर्क के लिए, डिफ़ॉल्ट रूप से `ls 'केवल फ़ाइल नाम को सूचीबद्ध करता है। यदि कोई गैर-विकल्प तर्क निर्दिष्ट नहीं है, तो 'ls' वर्तमान निर्देशिका की सामग्री को सूचीबद्ध करता है।
इसलिए जब यो दे ls d*
, d * d से शुरू होने वाली सभी फ़ाइल / निर्देशिका नामों की क्रमबद्ध सूची में विस्तारित है। तो आप कमांड बन जाइए
ls dump
और जैसा कि डंप एक निर्देशिका नाम है, इसलिए आपको निर्देशिका "डंप 'में सभी फ़ाइलों की सूची मिलती है, लेकिन जब आप देते हैं ls D*
, तो " डेस्कटॉप दस्तावेज़ डाउनलोड ड्रॉपबॉक्स "में डी का विस्तार होता है , इसलिए कमांड बन जाता है
ls Desktop Documents Downloads Dropbox
और ये सभी निर्देशिकाएं हैं, आपको व्यक्तिगत निर्देशिका में फ़ाइलों की सूची मिलती है। यदि कोई फ़ाइल वर्तमान निर्देशिका में D से शुरू होती है तो उसे अलग से सूचीबद्ध किया जाएगा।