مكتبة الأوامر / find
find
البحث في شجرة مجلدات عن ملفات تطابق شروطاً
يتجول find في شجرة مجلدات ويطبع المسارات المطابقة للاختبارات التي تحددها — بالاسم أو النوع أو الحجم أو وقت التعديل. بخلاف grep (الذي يبحث داخل الملفات)، ينظر find إلى بيانات الملف الوصفية ونظام الملفات نفسه. مسار البداية يأتي أولاً دائماً.
تدرّب على findالاستخدام
الخيارات والأعلام
pathالمجلد الذي يبدأ منه البحث
-namePATTERNمطابقة اسم الملف بنمط glob (حساس لحالة الأحرف)
-inamePATTERNمثل -name لكن مع تجاهل حالة الأحرف
-typef|d|lنوع محدد فقط: f = ملف عادي، d = مجلد، l = رابط رمزي
-maxdepthNلا تنزل أكثر من N مستويات
-mtimeNعُدِّل قبل N*24 ساعة؛ -N تعني «قبل أقل من N يوماً»
-sizeN[kMG]حجم الملف، مثل +100M تعني أكبر من 100 ميغابايت
أمثلة
find /var/log -name "*.log"كل ملف .log تحت /var/log.
find /home -type dالمجلدات فقط دون الملفات، تحت /home.
find / -iname "readme*"يجد README وreadme.txt وReadMe.md — بلا اعتبار للحالة.
find /etc -maxdepth 1 -type fالملفات مباشرة في /etc، لا في مجلداته الفرعية.
find / -mtime -1 -type fكل ملف عُدِّل خلال آخر 24 ساعة — خطوة أولى سريعة بعد اشتباه اختراق.
أخطاء شائعة
حروف النوع صغيرة فقط: f (ملف)، d (مجلد)، l (رابط رمزي). الحرف D الكبير ليس نوعاً معروفاً في لينكس.