आप उपयोग कर सकते हैं 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 लुकअप करना चाहते हैं।