सवाल जो / जहां अंतर है


के बीच क्या अंतर है which तथा whereis ?


95
2017-09-12 20:12


मूल


मुझे खेद है, लेकिन मेरे 10.5.8 ओएस एक्स सिस्टम पर और कहां है हमेशा एक ही परिणाम दें। शायद यह है एक बहुत ही ओएस एक्स विशिष्ट सवाल, क्योंकि मैं सहमत हूं, एक अलग परिणाम की उम्मीद है। हो सकता है कि यह किस बात का पालन न करे। कम से कम दो उदाहरण (नीचे देखें) काम नहीं कर रहे हैं: जहां ls और whereis php हमेशा एक ही परिणाम देते हैं ... क्या कोई इसकी पुष्टि कर सकता है? क्या हिम तेंदुए वही व्यवहार करता है? - Wolf
हाँ मुझे पता है, इसलिए मैंने इस सवाल से पूछा। - mk12
@Wolf यहाँ एक उदाहरण है which तथा whereis अलग आउटपुट देना (मैकोज सिएरा पर) apple.stackexchange.com/questions/259047/... - Matthew
@ mk12 मुझे ऐसा लगता है type बेहतर है यह परिभाषित उपनामों, कार्यों आदि के बारे में भी जानता है - Blauhirn


जवाब:


के बारे में सीखने के बारे में कैसे whereis तथा which का उपयोग करते हुए whatis?

$  whatis which
which                (1)  - shows the full path of (shell) commands

$  whatis whereis
whereis              (1)  - locate the binary, source, and manual page files for a command

मूल रूप से, whereis "संभवतः उपयोगी" फ़ाइलों के लिए खोज करता है, जबकि which केवल निष्पादन योग्य के लिए खोज करता है।

मैं शायद ही कभी उपयोग करता हूँ whereis। दूसरी ओर, which स्क्रिप्ट में विशेष रूप से बहुत उपयोगी है। which निम्नलिखित प्रश्न का उत्तर है: यह आदेश कहां से आता है?

$  which ls
/bin/ls

$  whereis ls
ls: /bin/ls /usr/share/man/man1p/ls.1p.bz2 /usr/share/man/man1/ls.1.bz2

107
2017-09-12 20:38



व्हाटिस के बारे में नहीं पता था, धन्यवाद। - mk12
बीटीडब्लू, मैं "ओएसएक्स" टैग को हटा दूंगा, क्योंकि यह प्रश्न सभी यूनिक्स संस्करणों पर लागू होता है (लिनक्स, बीएसडी, मैक ओएस एक्स, ... सहित) - Denilson Sá Maia
यूनिक्स में बदल गया - mk12
इससे इसके लिए और भी कुछ है। मेरे सिस्टम पर, जहां और विभिन्न निष्पादन योग्य पथ लौटते हैं। मैं केवल उस पथ का मार्ग प्राप्त कर सकता हूं जो वास्तव में चलता है whereis, के लिए एक नहीं which। - Jordan Reiter
@ जोर्डन रीइटर: यह नहीं हो सकता! which वास्तविक पथ दिखाता है। क्या आप निश्चित रूप से पथ द्वारा इंगित हैं which द्वारा निर्देशित पथ के लिए सिर्फ एक सिम्लिंक नहीं है whereis? शायद यह एक खोल उपनाम है। बैश में, चलने का प्रयास करें type your_cmd_here। - Denilson Sá Maia


whereis निर्दिष्ट आदेश के लिए मानक * निक्स स्थानों की खोज करता है।

which आपके उपयोगकर्ता-विशिष्ट पाथ की खोज करता है (जिसमें कुछ स्थानों को खोजना शामिल हो सकता है, और इसमें अन्य शामिल नहीं हो सकते हैं - इसमें कुछ स्थानों को भी शामिल किया जा सकता है whereis अगर आप अपने पैथ में जोड़ना चाहते हैं तो खोज नहीं होता है)


21
2017-09-12 20:16



* निक्स क्या है? - mk12
यूनिक्स, लिनक्स इत्यादि। (मैक ओएस एक्स आदि में संबंधित)
ओह, हाहा, मैंने हमेशा सोचा था कि स्टैक ओवरफ़्लो यू को यूनिक्स में सेंसर कर रहा था जब भी मैंने इसे किसी कारण से देखा .. - mk12
नहीं। इसी तरह के ऑपरेटिंग सिस्टम के परिवार को संदर्भित करने के लिए रचनात्मक वाइल्डकार्ड उपयोग का एक काफी आम सम्मेलन। ;)


अपने मैन पेजों का हवाला देते हुए:

कहाँ है :

जहां स्रोत / बाइनरी का पता लगाता है और   निर्दिष्ट फ़ाइलों के लिए मैनुअल अनुभाग।

उदाहरण के लिए :

$ whereis php
php: /usr/bin/php /usr/share/php /usr/share/man/man1/php.1.gz

यानी, "php" निष्पादन योग्य, और कुछ अन्य सामान (जैसे मैन पेज)।


तथा कौन कौन से :

जो के पथनाम देता है   फाइलें जो निष्पादित की जाएंगी   वर्तमान पर्यावरण

उदाहरण के लिए :

$ which php
/usr/bin/php

यानी, केवल "php" निष्पादन योग्य।


6
2017-09-12 20:17





कौन कौन से पर्यावरण चर PATH द्वारा निर्दिष्ट निर्देशिकाओं में निष्पादन योग्य के लिए खोजें। और यदि पता चला है, तो इस निष्पादन योग्य का पूरा पथनाम मुद्रित किया जाएगा।

$ जो एलएस
  / Bin / ls
  $ जो ifconfig
  $ # कोई आउटपुट नहीं, क्योंकि ifconfig केवल रूट के पथ में मौजूद है।

कहाँ है सिस्टम द्वारा स्वचालित रूप से बनाए गए डेटाबेस का उपयोग कर निष्पादन योग्य, स्रोत फ़ाइलों और मैन्युअल पृष्ठों की खोज करें।

$ कम कहाँ है
  कम: / bin / less / usr / bin / less / usr / bin / X11 / less /usr/share/man/man1/less.1.gz

लेकिन ऐसा लगता है कहाँ है तथा का पता लगाने एक ही डेटाबेस का उपयोग न करें। जब मैंने एक सॉफ्टवेयर स्थापित किया और फिर इस्तेमाल किया कहाँ है तथा का पता लगाने तुरंत इस सॉफ्टवेयर के लिए खोज करने के लिए। नतीजा यह है कि कहाँ है जबकि इस सॉफ्टवेयर से संबंधित कुछ फाइलें मिल सकती हैं का पता लगाने नहीं कर सके। क्या वे वास्तव में विभिन्न डेटाबेस का उपयोग करते हैं? डेटाबेस कैसे काम करता है? - क्या, एक पेडेंट होने से इनकार करने के बारे में कैसे? :)


1
2018-01-24 15:09



क्या आपने updateb कमांड चलाया? जहां तक ​​मुझे याद है उस पर निर्भर करता है - Oliver M Grech