البحث القائم على قاعدة البيانات
بينما يبحث find في نظام الملفات الحي (live filesystem)، يبحث الأمر locate في قاعدة بيانات مبنية مسبقاً للملفات (/var/lib/mlocate/mlocate.db).
مزايا locate
- السرعة: إنه سريع بشكل لا يصدق لأنه يبحث في فهرس فقط، وليس في القرص الفعلي.
عيوب locate
- الدقة: يمكنه فقط العثور على الملفات التي كانت موجودة عند آخر تحديث لقاعدة البيانات. لن تظهر الملفات التي تم إنشاؤها حديثاً على الفور.
الاستخدام الأساسي
bash $ locate sshd_config /etc/ssh/sshd_config /usr/share/man/man5/sshd_config.5.gz
تحديث قاعدة البيانات
للتأكد من أن قاعدة البيانات محدثة، يجب عليك تشغيل أمر التحديث يدوياً (يتطلب امتيازات إدارية):
bash $ sudo updatedb
قاعدة عامة: استخدم locate لعمليات البحث العامة السريعة؛ استخدم find لعمليات البحث الدقيقة والقائمة على المعايير والموجهة نحو التنفيذ.