بسم الله الرحمن الرحيم
من أهم الاشياء التي من الضروري تعلمها و استخدامها من طرف مستخدمي لينكس هو استعمال سطر الأوامر في بعض المهام ، إذ لا يوجد كل مقابل لكل أمر و الذي سيسهل استخدام النظام، الامر الذي يحتم على المستخدم اتباع شروحات تتضمن تطبيق أوامر على الطرفية.
وفي سلسلة من المواضيع سأحاول طرح عدد من الاوامر الهامة التي على كل مستخدم أن يحفظها، و بالأخص المبتدئين. و سأفتتح بأمر find للبحث عن المجلدات و الملفات.
الامر find هو من أكثر الاوامر استخداما للبحث عن ملفات انطلاقا من الطرفية، يمكّنك من البحث عن ملفات عن طريق تاريخ التعديل، الاسم، الصلاحيات، الحجم الخ... وفي هذا الموضوع سأشرع في تقديم اكثر الخصائص استخداما للامر. اضافة إلى أنه يتواجد في أغلب التوزيعات افتراضيا.
الصيغة العامة
$ find location comparison-criteria search-term
location = مسار البحث
comparison-criteria = خصائص البحث
search-term= اسم الملف
عند تطبيق الامر بدون اي اضافة
البحث في مجلد معين "في هاته الحالة سيعرض لنا الأمر كل الملفات المتواجدة في هذا المسار و بطريقة تشعبية"
البحث في مجلد عن ملف معينfind /home/testing/linux
البحث في المجلد عن الملف/الملفات من نوع محددfind /home/testing/linux -name "abc.html"
البحث عن ملفات بشرط عدم تحقق الشرط عليه أي ألا يكون ملف html في هاته الحالةfind /home/testing/linux -name "*.html"
أوfind /home/testing/linux -not -name "*.html"
يمكن البحث باستخدام الشرطين مثلاfind /home/testing/linux ! -name "*.html"
يمكن أيضا البحث بوضع شرطين لكن بطريقة اختيارية أي سيظهر أي نتيجة تحقق شرط واحدfind /home/testing/linux -name "abc*" ! -name "*.html"
بالإضافة إلى إمكانية وضع شرطين إجباريين باستبدال خاصية o- ب and- أي سيظهر النتائج التي تحقق الشرطين معاfind /home/testing/linux -name "*.html" -o -name "*.txt"
البحث عن الملفات فقط
البحث عن المجلدات فقطfind /home/testing -type f -name "linux"
البحث عن الملفات المخفية في Homefind /home/testing -type d -name "abc.html"
البحث عن ملفات التي تحقق الصلاحيات المطلوبة ، في هذا المثال سنقوم ببحث عن ملفات ذات صلاحيات 777find ~ -type f ".*"
يمكن أيضا البحث عن ملفات التي لا تتضمن صلاحيات معينة مثلا777-find . -type f -perm -777
يمكن كذلك البحث انطلاقا من الصلاحيات بطريقة مختلفة مثلا فقط التنفيذfind . -type f ! -perm -777
البحث عن مجلدات/ملفات تم حفضها في مدة تقل عن 50 يوم مثلاfind /bin -perm /a=x
البحث عن مجلدات/ملفات تم الولوج اليها مدة تقل عن 50 يوم مثلاfind / -mtime 50
البحث عن مجلدات/ملفات حفضت في مدة زمنية معينة مثلا ما بين 50 الى 100 يومfind / -atime 50
البحث عن مجلدات/ملفات تم تعديل فيها (خصائص، صلاحيات ...)find / -mtime +50 -mtime -100
find ~ -cmin 27
البحث عن مجلدات/ملفات عن طريق الحجم
البحث عن مجلدات/ملفات حجمها محصور بين قيمتينfind / -size 50M
يمكن أيضا تغيير وحدة الحجم التخزينية كما يوجد في الجدول الأتي:find / -size +50M -size -100M
مسح ملفات ضمن شروط خاصة مثلا ذات الامتداد .BAK
و يمكنكم أيضا أن تتعرفو أكثر على هذا أمز من man الخاص به :find / -type f -name "*.BAK" -delete
man find
اتمنى ان اكون قد قمت بتغطية كل ما يلزم لاستخدام الأمر find ، ألقاكم في درس آخر إن شاء الله. بالتوفيق
الإبتساماتإخفاء