درسنامه ۲-۸: جستوجوی فایلها با find
find فایلها/پوشهها را بر اساس نام، نوع، اندازه، زمان و ... پیدا میکند.
مثالهای کاربردی
find . -type f -name "*.log" # همهٔ فایلهای log
find ~ -type d -name "venv" # دایرکتوریهای venv
find /var/log -type f -size +5M # بزرگتر از ۵ مگابایت
find . -type f -mtime -7 # تغییر کرده در ۷ روز گذشته
اجرای فرمان روی نتایج
نکته: از -exec ... {} + برای اجرای گروهی استفاده کنید (بهتر از \;).
تمرین کوتاه
- همهٔ فایلهای
.shرا پیدا کنید و تعداد خطوط هرکدام را بشمارید. - تمام فایلهای حجیمتر از ۱۰MB در Downloads را بیابید.
نکات و مثالهای بیشتر
- ترکیب چند شرط:
- فیلتر بر اساس دسترسیها و مالک:
- چاپ فقط نام فایل یا مسیر نسبی/مطلق:
- اجرا با
xargsبرای کارایی بیشتر:
خطاهای رایج
- استفاده از
-exec ... \;برای تعداد زیادی فایل؛ در صورت امکان از+استفاده کنید. - نداشتن نقلقول دور الگوها و گسترش ناخواسته توسط شل.