it-swarm.asia

التي / أين الاختلافات

ما الفرق بين which و whereis؟

106
mk12

ماذا عن التعلم عن 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
115
Denilson Sá Maia

whereis يبحث في المواقع * nix القياسية للأمر المحدد.

which يبحث في PATH الخاص بالمستخدم (والذي قد يتضمن بعض المواقع التي يبحث فيها الموقع ، وقد لا يشمل مواقع أخرى - قد يتضمن أيضًا بعض الأماكن التي لا يبحث عنها whereis إذا أضفت إلى PATH)

22
Amber

نقلا عن صفحات رجلهم:

whereis :

حيث يحدد موقع أقسام المصادر/الثنائية والأدلة للملفات المحددة.

على سبيل المثال :

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

أي ، "php" قابل للتنفيذ ، وبعض الأشياء الأخرى (مثل صفحات الرجل).


و والتي :

الذي يعرض أسماء ملفات الملفات التي سيتم تنفيذها في البيئة الحالية

على سبيل المثال :

$ which php
/usr/bin/php

أي فقط "php" قابل للتنفيذ.

6
Pascal MARTIN

والتي تبحث عن الملفات التنفيذية في الدلائل المحددة بواسطة متغير البيئة PATH. وفي حالة اكتشاف ذلك ، سيتم طباعة اسم المسار الكامل لهذا الملف القابل للتنفيذ.

$ الذي ليرة سورية
/بن/ليرة سورية
$ الذي ifconfig
$ # لا يوجد إخراج ، لأن ifconfig موجود فقط في PATH للجذر.

whereis ابحث عن الملفات التنفيذية والملفات المصدر والصفحات اليدوية باستخدام قاعدة بيانات تم إنشاؤها بواسطة النظام تلقائيًا.

حيث أقل
أقل:/bin/less/usr/bin/less/usr/bin/X11/less /usr/share/man/man1/less.1.gz

ولكن يبدو أن whereis و حدد موقع لا تستخدم نفس قاعدة البيانات. عندما قمت بتثبيت أحد البرامج ثم استخدمت whereis و حدد موقع على الفور للبحث عن هذا البرنامج. والنتيجة هي أن whereis يمكنه معرفة بعض الملفات ذات الصلة بهذا البرنامج بينما تحديد موقع لا يمكن. هل حقا استخدام قاعدة بيانات مختلفة؟ كيف تعمل قاعدة البيانات؟ - حسنا ، ماذا عن رفض أن يكون المتحذلق؟ :)

1
user192505