هناك العديد من الطرق التي يمكننا من خلالها البحث عن الملفات والمجلدات وتحديد موقعها على Linux.
من المحتمل أن تكون أسهل وأسرع من خلال terminal.
locate
يعد أمر " locate " هو الاختيار الذي يجب على مستخدم Linux استخدامه لأنه أسرع بكثير من أي شيء آخر موجود.
السبب في هذه السرعة أن الأمر locate لا يبحث فعليًا في الأقراص الثابتة المحلية الخاصة بك عن الملفات والمجلدات التي تحتاج إلى العثور عليها ولكنه يشبه قراءة ملف قاعدة بيانات mlocate.db الذي يحتوي على جميع مسارات الملفات في نظامك.
Debian and Ubuntu
sudo apt-get install locate
CentOS
yum install locate
إعداد الأمر locate للاستخدام أول مرة.
لتحديث قاعدة بيانات mlocate.db قبل الاستخدام الأول قم بتشغيل:
sudo updatedb
لاستخدام الأمر locate افتح terminal واكتب locate متبوعًا باسم الملف الذي تبحث عنه.
في هذا المثال ، أبحث عن ملفات تحتوي على كلمة sunny في أسمائهم.
locate sunny
يقوم الأمر Locate أيضًا بإظهار عدد المرات التي يتم فيها مطابقة كلمة البحث في قاعدة البيانات.
يتم ذلك من خلال تضمين "-c" في الأمر والتي تعني "count".
locate -c sunny
ما يحتاجه المستخدمون هنا هو أنالأمر Locate يحتاج إلى الاسم المحدد والدقيق للملف الذي تبحث عنه على عكس الأدوات الأخرى الأكثر مرونة.
هذا يعني أنالأمر Locate أمر يستخدم للعثور على شيء متأكد من اسمه ولكن ليس لملف لا تتذكر اسمه بالضبط.
مثال :
locate howtoforge
و
locate Howtoforge
بما أن " locate " يقرأ ملف قاعدة بيانات ، فقد تكون النتائج قديمة وغير صحيحة تمامًا.
للحد من هذه المشكلة نقوم بتحديث قاعدة البيانات عن طريق كتابة " sudo updatedb ".
إذا كنت لا تزال لا تحصل على ما كنت تبحث عنه بعد ذلك فانتقل إلى الخطوة التالية وهي الأمر "find".
find
استخدم الأمر find
يعتبر أمر " find " أكثر فعالية بكثير ولكنه أبطأ.
"find" تبحث فعليًا في أقراصك عن الملفات والمجلدات.
يعتبر find مثاليًا عندما تحاول تحديد موقع ملف أو مجلد ولكن لا يمكنك تذكر اسمه.
لأن "find" يمكنه البحث عن الملفات التي تخص مستخدمًا معينًا أو مجموعة معينة من المستخدمين ، أو الملفات التي تم تعديلها أو الوصول إليها مؤخرًا ، الملفات ذات الحجم المحدد ، والملفات المخفية ، والملفات التنفيذية ، وملفات القراءة فقط ، والملفات ذات أذونات معينة.
عند تشغيل "find" حدد مكان البحث في دليل معين. سيؤدي هذا إلى تسريع عملية البحث بشكل كبير.
إذا كنت تعرف مكان الملف فافتح terminal وانتقل إلى المجلد وقم بتشغيل:
find . [filename]
dot (.) تخبر find بالبحث في المجلد الحالي.
إذا كنت تريد البحث في دليل الصفحة الرئيسية بدلاً من ذلك ،فاستبدل (.) بـ (~ /) وإذا كنت تريد البحث في نظام الملفات بالكامل فاستخدم (/) بدلاً من ذلك.
كمثال ، أريد البحث عن ملف يحتوي على ملصق في مجلد download الخاص بي. أعلم أن اسم الملف يحتوي على كلمة "poster" ، لكني لا أتذكر الاسم بالضبط.
لهذا السبب ، سأنتقل إلى مجلد download من خلال terminal باستخدام
"cd Downloads"
ثم كتابة الأمر
sudo find . -name "*poster*"
ها هي النتيجة:
يخبرني هذا أن هناك ملف pdf باسم "billy_poster copy" في مجلد download.
إذا لم أكن أعرف مكانه ، فسيظل "Find" يتيح لي معرفة أنه في مجلد download.
الآن ، إذا قمت باستبدال "name-" بـ "-iname-" ، فستحصل على نتائج بدون اعتبار لحالة الأحرف.
هذا شيء غير موجود في "locate ".
sudo find . -iname "*poster*"
الآن ، لنفترض أنني ما زلت أبحث عن ملف poster نفسه والشيء الوحيد الذي أتذكره هو أن حجمه أقل من 5 ميغابايت.
الأمر الذي سأستخدمه في هذه الحالة هو:
find ~/ -size -5M
إذا كنت أعلم أنه أكبر من حجم معين 2 ميجابايت مثلا، فسيكون الأمر
find ~ / -size + 2M
find يدعم عوامل التشغيل المنطقية لجعل البحث أقوى.
في هذا المثال ، سأستخدم أمرًا يجمع بين معرفتي بأن حجم الملف أقل من 5 ميجابايت وأيضًا أكثر من 2.
سيكون الأمر:
find / -size -5M -and -size +2M
أخيرًا دعنا نقترح أننا لا نتذكر شيئًا بشأن الملف ولكننا نتذكر أننا استخدمناه منذ ثلاث دقائق.
للعثور عليه ، استخدم الأمر findـ:
find / -amin -3
إذا استخدمت الملف قبل يومين، فاستخدم هذا بدلاً من ذلك:
find / -time -2
سيؤدي هذا إلى عرض جميع الملفات التي تم الوصول إليها خلال اليومين الماضيين
في موقع البحث.