جزییات بازدید : 6932
تاریخ انتشار : 31 / اردیبهشت / 1397
دستور find یکی از مهمترین دستورات محیط ترمینال لینوکس محسوب می شود که به شما امکان جستجوی فایلها و پوشه ها را به راحتی می دهد .
دستور find یکی از مهمترین دستورات محیط ترمینال لینوکس محسوب می شود که به شما امکان جستجوی فایلها و پوشه ها را به راحتی می دهد . شما می توانید پارامترهای جستجوی خود را بر اساس سطح دسترسی ، اندازه فایل ، مالک فایل ، تاریخ و ... تنظیم کنید در زیر مثالهای پر کاربردی برای این دستور آورده ایم :
Syntax: find [pathnames] [conditions]
پیدا کردن فایل ها با قسمتی از نام فایل:
دستور زیر در پوشه etc/ دنبال فایلهایی که در نامشان عبارت linuxtip وجود دارد می گردد:
# find /etc -name “*linuxtip*”
پیدا کردن فایل ها با اندازه آنها :
دستور زیر فایلهای بزرگتر از 100 مگابایت و کوچکتر از 600 مگا بایت را پیدا می کند :
# find / -type f -size +100M -size -600M
پیدا کردن فایلهایی که بیش از 60 روز گذشته تغییر پیدا کرده اند و یا در 2 روز اخیر تغییر کرده اند:
دستور زیر به دنبال فایلهایی می گردد که بیش از 60 روز گذشته تغییر پیدا کرده اند و یا در 2 روز اخیر تغییر کرده اند.
# find . -mtime +60 –mtime -2
پیدا کردن فایلهایی با سطح دسترسی غیر از 777 :
# find / -type f -not -perm 777
دستور find از کارکتر تعجب نیز می تواند استفاده کند :
# find / -type f ! -perm 777
پیدا کردن فایلهای فقط خواندنی :
# find / -perm /u=r
پیدا کردن فایلهای اجرایی در چند پوشه مجزا :
# find /dir1 /dir2 -perm /a=x
حذف تمام فایلهای آرشیو با پسوند tar.gz. که بزرگتر از 100 مگابایت هستند :
هنگام اجرای دستورات زیر مراقب باشید که اشتباه نکنید بهتر است برای تمرین به جای دستور rm از ls استفاده کنید
# find / -type f -name *.tar.gz -size +100M -exec ls -l {} \; # find / -type f -name *.tar.gz -size +100M -exec rm -f {} \;
ایجاد آرشیو از فایلهایی که در x روز اخیر تغییری نداشته اند :
دستور زیر ابتدا همه فایلهای موجود در پوشه home/linuxtip/ که در 60 روز اخیر تغییری نداشته اند را پیدا می کند و آرشیوی با فرمت ddmmyyyy_archive.tar در پوشه tmp/ ایجاد می کند :
# find /home/linuxtip -type f -mtime +60 | xargs tar -cvf /tmp/`date ‘+%d%m%Y’_archive.tar`
پیدا کردن فایلهایی که در 50 روز اخیر به آنها دسترسی داشته ایم :
# find / -atime 50
پیدا کردن فایلهایی که در 1 ساعت اخیر تغییر کرده اند :
# find / -cmin -60