یکی از دستورات مهم و کاربردی لینوکس دستور find در لینوکس است. کاربرد آن پیدا کردن لیستی از فایل ها و دایرکتوری ها ( پوشه ها ) بر اساس شرایط خاصی که شما مشخص می کنید می باشد.
مانند جستجو فایل با توجه به سطح دسترسی ، کاربران ، گروه ها ، نوع فایل ، تاریخ ، اندازه و دیگر معیار های ممکن
در این مقاله ما 35 مثال دستور find در لینوکس را در 5 دسته ارسال کرده ایم
دسته اول : پیدا کردن فایل ها بر اساس نام فایل ها توسط دستورات پایه find
دسته دوم : پیدا کردن فایل بر اساس سطح دسترسی
دسته سوم : جستجو فایل ها بر اساس Owner ها و Group ها ( صاحبان فایل ها و گروه ها )
دسته چهارم : جستجو فایل ها و پوشه ها بر اساس تاریخ و زمان
دسته پنجم : جستجو فایل ها و پوشه ها بر اساس حجم آنها
دسته اول : پیدا کردن فایل ها بر اساس نام فایل ها توسط دستورات پایه find
جستجو در تمام فایل های دایرکتوری جاری که نام آنها tehranhost.txt باشد.
در هر کادر خط اول دستور و خط دوم خروجی دستور می باشد
جستجو در تمام فایل های موجود در پوشه home که نام آنها tehranhost.txt باشد.
یافتن تمام فایل هایی که نام های آنها tehranhost.txt که شامل حروف های بزرگ و کوچک شود.
پیدا کردن تمام دایرکتوری هایی که نام آنها Tehranhost باشد از مسیر /
پیدا کردن تمام فایل های php که در پوشه جاری باشد و نام آنها tehranhost.php باشد.
پیدا کردن تمام فایل هایی که پسوند آنها php باشد در دایرکتوری جاری :
دسته دوم : پیدا کردن فایل بر اساس سطح دسترسی
یافتن تمام فایل هایی که سطح دسترسی آنها 777 باشد.
یافتن تمام فایل هایی که سطح دسترسی آنها 777 نباشد.
یافتن فایل های sgid که سطح دسترسی آنها 644 تنظیم شده است
یافتن تمام فایل هایی که به صورت Sticky Bit تنظیم شده اند و سطح دسترسی آنها 551 هست
یافتن فایل هایی که به صورت SUID تنظیم شده اند
یافتن فایل هایی که به صورت SGID تنظیم شده اند
پیدا کردن تمام فایل های Read Only
یافتن تمام فایل های اجرا شدنی در لینوکس
پیدا کردن تمام فایل هایی که سطح دسترسی آنها 777 است و تغییر سطح دسترسی آنها به 644
پیدا کردن تمام فایل هایی که سطح دسترسی آنها 666 است و تغییر سطح دسترسی آنها به 644
پیدا کردن تمام دایرکتوری هایی که سطح دسترسی آنها 777 است و تغییر سطح دسترسی آنها به 755
برای پیدا کردن یک فایل مانند tehranhost.txt و حذف خودکار آن
برای پیدا کردن و حذف کردن دسته جمعی فایل ها مانند پسوند های txt یا mp3
# find . -type f -name “*.mp3” -exec rm -f {} \;
پیدا کردن تمام فایل های خالی در مسیر خاص توسط find
پیدا کردن تمام پوشه های خالی در مسیر خاص
برای پیدا کردن تمام فایل های مخفی در لینوکس از دستور زیر استفاده کنید
دسته سوم : جستجو فایل ها بر اساس Owner ها و Group ها ( صاحبان فایل ها و گروه ها )
برای پیدا کردن همه یا تنها یک فایل با اسم خاص در مسیر / که صاحب آنها root است
پیدا کردن تمام فایل هایی که صاحب آن tehranhost و در مسیر home باشند
پیدا کردن تمام فایل های تحت Group (گروه) Developer و در مسیر home
یافتن یک فایل خاص که owner ها کاربر tehranhost باشد
دسته چهارم : جستجو فایل ها و پوشه ها بر اساس تاریخ و زمان
پیدا کردن تمام فایل هایی که modified time آنها برای 50 روز اخیر باشد
پیدا کردن تمام فایل هایی که در 50 روز اخیر مشاهده شده اند توسط دستور find در لینوکس
یافتن تمام فایل هایی که بیشتر از 50 روز و کمتر از 100 روز modify شده اند
یافتن تمام فایل هایی که در یک ساعت اخیر تغییر کرده اند
پیدا کردن تمام فایل هایی که در یک ساعت اخیر modify شده اند
یافتن تمام فایل هایی که در یک ساعت اخیر مشاهده شده اند
پیدا کردن تمام فایل هایی که حجم آن ها 50 مگابایت است.
پیدا کردن تمام فایل هایی که حجم آنها بین 50 تا 100 مگابایت می باشد
یافتن تمام فایل هایی که حجم آنها 100 مگابایت است و حذف خودکار این فایل ها توسط دستور find
پیدا کردن تمام فایل های با پسوند mp3 که حجم آنها بیشتر از 10 مگابایت باشد و حذف خودکار آنها