Site icon تلاش نت

جستجوی فایل ها در لینوکس با دستور find

این دستور برای جستجو و پیدا کردن فایل در سیستم عامل 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 پیدا کرده است اجرا کرد. عملیاتی که شما میتوانید بر روی فایلهای مورد نظر اجرا کنید میتواند موارد زیر باشد:

سینتکس کلی به شکل زیر است :

find -exec {} \;
find -group root
find -type f -links +3
find -fls list

امیدواریم این مطلب مورد توجه شما قرار گرفته باشد.
تلاش نت
02154109000

4.6/5 - (11 votes)