English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

أمر locate في Linux

مجمع الأوامر في لينكس

يستخدم الأمر locate في Linux للبحث عن المستندات التي تتوافق مع الشروط المحددة، حيث يبحث في قاعدة بيانات تحتوي على أسماء المستندات والمجلدات، عن المستندات أو المجلدات التي تتوافق مع نمط النص النموذجي.

في معظم الحالات، يكفي أن نكتب locate اسم_ملفك للعثور على الملف المحدد.

النحو

locate [-d ][--help][--version][نمط نموذجي...]

المواضيع:

  • -b, --basename -- تطابق فقط اسم النص الأساسي للمسار
  • -c, --count -- أطبع فقط العدد الموجود
  • -d, --database DBPATH -- استخدم قاعدة البيانات المحددة بـ DBPATH بدلاً من قاعدة البيانات الافتراضية /var/lib/mlocate/mlocate.db
  • -e, --existing -- أطبع فقط المدخلات الحالية الموجودة
  • -1 -- إذا كان 1، فتمكّن الوضع الآمن. في الوضع الآمن، لن يرى المستخدم الملفات التي لا يملك صلاحية الوصول إليها. هذا سيبطئ السرعة، لأن locate يجب أن يحصل على معلومات الصلاحيات الفعلية من النظام الملفي.
  • -0, --null -- استخدم المدخلات الفاصلة بالـ NUL
  • -S, --statistics -- لا تبحث عن المدخلات، أطبع معلومات الإحصاء عن كل قاعدة بيانات
  • -q -- نمط صامت، لن يُعرض أي رسائل خطأ.
  • -P, --nofollow, -H -- لا تتبع الروابط التالية عند التحقق من وجود الملف
  • -l, --limit, -n LIMIT -- قيّم الخروج (أو العد) بحدود LIMIT المدخلات
  • -n -- عرض n سطرًا كحد أقصى.
  • -m, --mmap -- يُتجاهل، من أجل التوافق مع الإصدارات السابقة
  • -r, --regexp REGEXP -- استخدم تعبيرات النصوص النموذجية الأساسية
  • --regex -- استخدم تعبيرات النصوص النموذجية الموسعة
  • -q, --quiet -- نمط صامت، لن يعرض أي رسائل خطأ
  • -s, --stdio -- يتم تجاهله، من أجل التوافق مع الإصدارات السابقة
  • -o -- تحديد اسم قاعدة البيانات.
  • -h, --help -- عرض المساعدة
  • -i, --ignore-case -- تجاهل الحالة الحساسة للكتابة
  • -V, --version -- عرض معلومات الإصدار

مثال على الإنترنت

البحث عن ملف passwd، أدخل الأمر التالي:

locate passwd

البحث عن جميع الملفات التي تبدأ بحرف sh في مجلد etc:

locate /etc/sh

البحث عن جميع الملفات التي تبدأ بحرف r في مجلد المستخدم الحالي، مع تجاهل الحالة الحساسة للكتابة:

locate -i ~/r

شرح إضافي

مقارنةً بـ find: find يبحث في القرص الصلب، بينما locate يبحث فقط في قاعدة البيانات في /var/lib/slocate.

سرعة locate أكثر من find، فهي لا تقوم بالبحث فعليًا، بل تقوم بالبحث في قاعدة البيانات، عادة ما تكون قاعدة البيانات للملفات في /var/lib/slocate/slocate.db، لذا فإن بحث locate ليس حقيقيًا، بل يعتمد على تحديث قاعدة البيانات، عادة ما يتم ذلك من قبل النظام نفسه، ولكن يمكن أيضًا تحديث قاعدة البيانات يدويًا، باستخدام الأمر التالي:

updatedb

بالتأكيد، يتم تنفيذ updatedb مرة واحدة في اليوم.

مجمع الأوامر في لينكس