आप उपयोग कर सकते हैं typeया command -v। का आउटपुट typeमानव पठनीय है; के उत्पादन command -vबैश द्वारा निष्पादित किया जा सकता है।
ध्यान दें कि वे वास्तव में थोड़ा अलग हैं। typeऔर commandकमांड के हैशेड मूल्य को देखें। यह कहना है, यदि आप टाइप करते हैं cmd, type cmdया command -v cmdआपको बताएंगे कि वास्तव में क्या चलाया जाएगा। वे उपनाम, बैश फ़ंक्शंस, और बैश बिल्डिंस पर भी काम करते हैं (हालांकि type -pइन पर ध्यान नहीं देंगे और केवल सच्ची फाइलें वापस करेंगे)।
whichबस पथ पर एक खोज करता है। यह अलग है क्योंकि:
- यदि समान नाम के साथ कोई अन्य नाम, फ़ंक्शन या बिलिन है, तो उसे इसके बजाय कहा जाएगा।
- यदि पिछले हैशेड के बाद से PATH में पहले कोई कमांड जोड़ी गई थी, तो वह इसके द्वारा मिल जाएगी
which, लेकिन उस कमांड को निष्पादित करने से हैश वैल्यू का उपयोग होगा (आप बैश में हैश को अपडेट करने के लिए बाध्य कर सकते हैं hash -r)।
आमतौर पर लोग वास्तव में चाहते हैं type, न कि whichकम से कम संवादात्मक उपयोग के लिए, क्योंकि वे इसका उपयोग यह जानने के लिए करते हैं कि "जब मैं इसे कर रहा हूं तो यह कमांड कहां से आ रही है?" आपको केवल तभी उपयोग करना चाहिए whichजब आप वास्तव में एक PATH लुकअप करना चाहते हैं।