نحوه جستجوی فایل ها در لینوکس
این دستور برای جستجو و پیدا کردن فایل در سیستم عامل linux مورد استفاده قرار می گیرد.
به این ترتیب میتوانید فایل های مورد نیازتان را بر اساس date ,permission ,type ,group ,owner ,name و دیگر معیارها پیدا کنید.
همچنین اگر دستور find را بدون هیچ آرگومان یا گزینه ای وارد کنید، لیست تمام فایلهای موجود در شاخه جاری و زیر شاخههای آن را چاپ میکند.
find [-H] [-L] [-P] [path...] [expression]
find / -iname "host.conf"
find / -name "host.conf"
find . -type f -exec ls -s {} \; | sort -n -r | head -5
find . -type f -exec ls -s {} \; | sort -n | head -5
find . -maxdepth 1 -empty
find / -maxdepth 2 -name passwd
find -mindepth 3 -maxdepth 5 -name passwd
find -mindepth 3 -maxdepth 5 -name passwd
find /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents
find / -perm -u+s
find / -name *.rpm -exec chmod 755 ‘{}’ \;
find /usr/bin -type f -mtime -10
find /usr/bin -type f -atime +100
find / -user user1
whereis halt
find . -size +100k -and -size -1M
find -maxdepth 1 -not -iname "MyCProgram.c"
دستور بالا با عمق یک دایرکتوری تمام فایلهایی را که نام آنها Myprogram.c (غیر حساس به حروف کوچک و بزرگ) نیست را پیدا کرده و چاپ میکند.
میتوانید به جای -not از ! هم استفاده کنید، در این صورت باید قبل از ! یک بک اسلش () قرار دهید تا shell (پوسته) این علامت را به اشتباه تفسیر نکند.
find -maxdepth 1 \! -iname "MyCProgram.c"
find . -mmin -60
find / -mtime -1
find . -type f -newermt 2016-06-12 ! -newermt 2016-06-26
find . -type f -newerat 2016-06-15 ! -newerat 2016-06-25
find . -type f -newerct 2016-06-10 ! -newerct 2016-06-21
مسیر کامل این فایل خاص را باید بعد از -newer وارد کنید.
find -newer MyPrograms.tt
find -anewer /etc/hosts
find -cnewer /etc/fstab
با گزینه -exec میتوانید هر دستور دلخواه را روی فایلهایی که دستور find پیدا کرده است اجرا کرد. عملیاتی که شما میتوانید بر روی فایلهای مورد نظر اجرا کنید میتواند موارد زیر باشد:
- دستور rm برای پاک کردن
- دستور cp برای کپی کردن
- دستور mv برای تغییر نام یا جابه جایی
- دستور md5sum برای محاسبه الگوریتم md5sum
- دستور wc برای شمارش فایلها
- اجرای هر دستور دلخواه دیگر
- اجرای شل اسکریپتی که خودتان نوشتهاید.
سینتکس کلی به شکل زیر است :
find -exec {} \;
find -group root
find -type f -links +3
find -fls list
برگرفته از سایت تلاش نت