استخدام الأمر "find" البحث عن نص بداخل الملفات استخدام الأمر "locate"
هذه هي عملية البحث الأبسط التي يمكن إجراؤها باستخدام الأمر find. سيقوم الأمر التالي مثلًا بالبحث عن المُدخل المقدّم في المسار الحالي والمسارات الفرعية بداخله.  find -iname "filename"   يؤدي استخدام اللاحقة -iname عوضًا عن -name إلى تجاهل حالة أحرف المُدخل، حيث أن الأمر -name حساس تجاه حالة الأحرف. يمكنك البحث في نظام التشغيل بالكامل عن طريق استخدام المعامل / في الاستعلام حيث يؤدي ذلك إلى توجيه الأمر find للبحث في كل المسارات ابتداءً من المسار الرئيسي.   find / -iname "filename"    يمكنك بدء البحث من مسار معيّن عن طريق تغيير المعامل / إلى المسار الذي ترغب ببدء عملية البحث منه، كأن تكتب مثلًا /home/pat. يمكنك استخدام المعامل . عوضًا عن / للبحث في المسار الحالي ومساراته الفرعية فقط. * للبحث عن أي شيء مطابق لجزء من مُدخل البحث. يمكن الاستفادة من الرمز البديل * للعثور على ملف لا تعرف اسمه الكامل أو إن كنت ترغب بإيجاد كل الملفات التي تنتهي بامتداد معيّن.   find /home/pat -iname "*.conf"    سيقوم الأمر السابق بالبحث عن كل الملفات التي تحمل الامتداد ".conf" في مجلد "Pat" والمجلدات الفرعية الموجودة بداخله. يمكنك أيضًا استخدام هذا الرمز البديل للعثور على كل شيء مطابق لجزء من اسم الملف. يمكنك مثلًا إيجاد كل المستندات المتعلقة بويكي هاو عن طريق استخدام المُدخل "*wiki*". يمكن أن يكون تصفح نتائج البحث صعبًا إن حصلت على الكثير من نتائج البحث، ويمكنك في هذه الحالة استخدام الرمز | وإرسال نتائج البحث إلى برنامج تقليص نتائج البحث "less" الذي يسمح لك بتصفح نتائج البحث وترشيحها بصورة أسهل بكثير.   find /home/pat -iname "*.conf" | less يمكنك استخدام المعاملات لإرجاع نتائج بحث من نوع معيّن فقط، حيث يمكنك البحث عن الملفات العادية باستخدام المعامل f أو البحث عن المجلدات فقط باستخدام المعامل d أو عن الروابط الرمزية باستخدام المعامل l أو عن أجهزة الرموز باستخدام المعامل c أو عن أجهزة الوحدات باستخدام المعامل b.   find / -type f -iname "filename" يمكنك ترشيح نتائج البحث وفق الحجم إن كنت تمتلك الكثير من الملفات بنفس الاسم إلا أنك تعرف حجم الملف الذي تبحث عنه.   find / -size +50M -iname "filename"    سيؤدي الأمر السابق إلى إظهار الملفات التي يزيد حجمها عن 50 ميجابايت، علمًا بأنه من الممكن استخدام الرموز + أو - للبحث عن الملفات الأكبر أو الأصغر على التوالي، كما يؤدي الاستغناء عن الرمزين + و - إلى البحث عن الحجم المحدد "فقط". يمكنك ترشيح النتائج بوحدة البايت c أو الكيلوبايت k أو الميجابايت M أو الجيجابايت G أو بوحدات قدر كل منها 512 بايت b. لاحظ أن معامل الحجم حساس تجاه حالة الأحرف. يمكنك استخدام المعاملات -and و -or و -not لجمع عمليات البحث المختلفة في عملية بحث واحدة.  find /travelphotos -type f -size +200k -not -iname "*2015*"   سيقوم الأمر السابق بالبحث عن الملفات التي يزيد حجمها عن 200 كيلوبايت والتي لا تحتوي على القيمة "2015" في اسم الملف بداخل المجلد "travelphotos". يمكنك تضييق نطاق البحث إن كنت تبحث عن ملف يملكه مستخدم معيّن أو يمتلك أذونات معيّنة.   find / -user pat -iname "filename" find / -group users -iname "filename" find / -perm 777 -iname "filename"   ستقوم الأمثلة السابقة بالبحث عن مستخدمين أو مجموعات أو أذونات معيّنة لمُدخل البحث. يمكنك أيضًا الاستغناء عن مُدخل البحث لعرض كل الملفات المطابقة لنوع البحث المُدخل، حيث يمكنك مثلًا استخدام المُعامل find / -perm 777 لعرض كل الملفات التي تحمل الإذن 777 (بدون قيود). يمكنك جمع أمر البحث find مع أوامر أخرى حتى تتمكن من تنفيذ هذه الأوامر على الملفات التي عثر عليها أمر البحث. افصل الأمر find عن الأوامر الأخرى باستخدام المعامل -exec ثم أنهِ السطر بالمعامل {} \;  find . -type f -perm 777 -exec chmod 755 {} \;   سيقوم الأمر السابق بالبحث في المجلد الحالي ومجلداته الفرعية عن الملفات التي تحمل الإذن 777 وسيستخدم الأمر chmod لتغيير إذن الملف إلى 755. grep للبحث عن نصوص بداخل الملفات. يمكنك استخدام الأمر grep إن كنت تبحث عن ملفات تحتوي على نص أو عبارة معيّنة، ويتم استخدام الأمر grep بالطريقة التالية:   grep -r -i "search query" /path/to/directory/    يؤدي استخدام المعامل -r إلى البحث بشكل تكراري ليقوم الأمر بالبحث في المجلد الحالي والمجلدات الفرعية بداخله عن الملفات المحتوية على النص المُدخل. يؤدي استخدام المعامل -i إلى إلغاء حساسية حالة الأحرف في المُدخل، ويمكنك الاستغناء عن المعامل -i إن كنت ترغب بحساسية الأمر تجاه حالة الأحرف. يؤدي تنفيذ الأمر grep أعلاه إلى رؤية اسم الملف مع النص المطابق لمُدخل البحث بشكل مظلل، ويمكنك إخفاء النص المطابق لمُدخل البحث والاكتفاء بالبحث عن أسماء الملفات فقط عن طريق تضمين الأوامر التالية:   grep -r -i "search query" /path/to/directory/ | cut -d: -f1 يقوم الأمر grep بإرجاع الأخطاء عند محاولة الوصول إلى المجلدات دون امتلاك أذونات مناسبة أو عند مواجهة مجلدات فارغة، ويمكنك إرسال رسائل الخطأ إلى المسار "/dev/null" لإخفائها من الخرج.  grep -r -i "search query" /path/to/directory/ 2>/dev/null locate. يعمل الأمر locate بشكل أسرع بكثير من الأمر find عادة حيث أنه يستخدم قاعدة بيانات لهيكلية الملفات، ولا تحتوي كل توزيعات لينكس على خاصية locate، لذا أدخل الأوامر التالية لمحاولة تثبيت الخاصية على جهازك:   اكتب الأمر sudo apt-get update واضغط على زر الإدخال ↵ Enter. يمكنك تثبيت الخاصية على نظام ديبيان وأوبنتو بالطريقة التالية: اكتب الأمر sudo apt-get install mlocate ثم اضغط على زر الإدخال ↵ Enter. ستظهر رسالة mlocate is already the newest version التي تفيد بوجود الخاصية على جهازك بالفعل إن كانت خاصية locate مثبتة على جهازك بالفعل. استخدم مدير الحزم باكمان على نظام أرش لينكس بالطريقة التالية: pacman -Syu mlocate  استخدم مدير الحزم إميرج على نظام جينتو بالطريقة التالية: emerge mlocate locate. لن يتمكن الأمر locate من إيجاد أي ملف إلا بعد تحديث قاعدة البيانات الخاصة به، علمًا بأن عملية التحديث تتم تلقائيًا كل يوم وأنه بإمكانك إجراء عملية التحديث يدويًا. ستحتاج إلى إجراء عملية التحديث قبل البدء باستخدام الأمر locate على الفور. اكتب الأمر sudo updatedb واضغط على زر الإدخال ↵ Enter. locate لإجراء عمليات بحث بسيطة. الأمر locate سريع بالفعل، إلا أنه لا يمتلك عدد الخيارات المتاحة عند استخدام الأمر find حيث يمكنك إجراء عملية بحث بسيطة بنفس طريقة فعل ذلك مع الأمر find.   locate -i "*.jpg"    سيقوم الأمر السابق بالبحث في نظام التشغيل بالكامل عن الملفات التي تحمل الامتداد .jpg، ويعمل الرمز البديل * بنفس طريقة عمله مع الأمر  find. يؤدي استخدام المعامل -i إلى تجاهل حالة الأحرف في مُدخل البحث كما هو الحال مع الأمر find. يمكنك تقليص عدد نتائج البحث إن كانت كثيرة للغاية باستخدام المعامل -n متبوعًا بعدد نتائج البحث التي ترغب بعرضها.   locate -n 20 -i "*.jpg"    يؤدي استخدام الأمر السابق إلى عرض أول 20 نتيجة مطابقة لبحثك فقط. يمكنك أيضًا استخدام المعامل | لتوجيه نتائج البحث إلى برنامج التقليص less بغرض تسهيل استعراض النتائج.
ابحث عن الملف باسمه. اجعل البحث يبدأ في المسار الرئيسي. استخدم الرمز البديل . سهّل التعامل مع نتائج البحث. ابحث عن نتائج من نوع معيّن. قم بترشيح النتائج حسب الحجم. استخدم المعاملات المنطقية لدمج مرشحات البحث. ابحث عن ملف باسم المالك أو بأذونات الملف. اجمع الأوامر لتنفيذ إجراءات عند إيجاد ملفات. استخدم الأمر . قم بقص النص الزائد. إخفاء رسائل الخطأ. ثبّت خاصية . حدّث قاعدة بيانات الأمر . استخدم الأمر . قلّص نتائج البحث.
https://www.wikihow.com/Find-a-File-in-Linux https://www.wikihow.com/Find-a-File-in-Linux https://www.wikihow.com/Find-a-File-in-Linux
Using "find" Searching for Text in Files Using "locate"