در سیستم عامل جذاب لینوکس می توانیم با دستور Find عملیات جستجوی فایل ها را به سادگی انجام دهیم و با استفاده از سوویچ های مختلف آن می توانیم نتایج جستجو را بر اساس حجم، تاریخ ، نام ، پسوند، سطح دسترسی و … فیلتر کنیم. در این آموزش داتیس نتورک شما را با دستور Find در لینوکس آشنا می کنیم، همراه ما باشید.
جستجوی Folder ها بر اساس نام
ساختار دستور بصورت زیر می باشد:
find مسیر -type d -name نام پوشه مورد نظر
بعنوان مثال برای جستجو تمام پوشه های به نام backup در /home دستور به صورت زیر تغییر می کند:
find /home –type d –name backup
یا بطور مثال برای پیدا کردن فایل های مخفی در /home/aban/public_html/ از دستور زیر استفاده کنید:
find /home/aban/public_html/ -type f -name ".*"
جستجوی فایل ها بر اساس نام
جهت سرچ بر اساس نام نیاز است از دستور find با سوئیچ -name استفاده کنید، البته اگر می خواهید بحروف بزرگ و کوچک حساس نباشد بجای -name از -iname استفاده کنید.
find مسیر -name نام فایل
بطور مثال اگر می خواهید فایلی بنام test.jpg را در دایرکتوری جاری سرچ کنید. دستور بصورت زیر می شود.
find . -name test.jpg
جهت سرچ کلیه فایل ها در دایرکتوری /home و با نام test.txt لازم است دستور زیر را اجرا کنید :
find /home -name test.txt
جستجوی فایل ها با پسوند خاص
ساختار دستور بصورت زیر می باشد:
find مسیر -type f -name "*. پسوند”
بطور مثال جهت سرچ فایل هایی با پسوند .php در مسیر جاری دستور به صورت زیر تغییر می یابد:
"find . -type f -name "*.php
جستجوی فایل ها بر اساس حجم
جهت جستجوی فایل ها بر اساس حجم از دستور با ساختار زیر استفاده کنید:
find مسیر -size حجم
بعنوان مثال جهت جستجوی فایل ها با حجم بیشتر از ۵۰ و کمتر از ۱۰۰ مگابایت دستور به صورت زیر تغییر می کند:
find / -size +50M -size -100M
جستجوی فایل های یک یوزر خاص
جهت جستجوی فایل های یک یوزر خاص از دستور با ساختار زیر استفاده کنید:
find مسیر -user نام یوزر
بطور مثال برای جستجو تمام فایل هایی که متعاق به یوزر aban و در مسیر /home/admin است، دستور بصورت زیر می باشد:
find /home/admin -user root
جستجوی فایل ها و دایرکتوری های خالی
جهت جستجوی فایل های خالی از دستور با ساختار زیر استفاده کنید:
find مسیر -type f -empty
جهت جستجوی پوشه های خالی از دستور با ساختار زیر استفاده کنید:
find مسیر -type d -empty
جستجوی فایل ها با سطح دسترسی خاص در دستور Find
ساختار دستور بصورت زیر می باشد:
find مسیر -type f -perm سطح دسترسی -print
بطور مثال برای پیدا کردن کلیه فایل ها با سطح دسترسی ۷۷۷ از دستور زیر می توانید استفاده کنید.
find /home -type f -perm 0777 –print
تعیین حداکثر عمق جستجو
با این آپشن میتوانید حداکثر عمق جستجو را با عنوان یک level مشخص کنید، که تا چندین level از subdirectory های موجود از دایرکتوری جاری و یا دایرکتوری مورد جستجوی بررسی و search را انجام دهد.
find / -maxdepth 3 -name passwd
جستجوی فایل ها بر اساس ساعت و تاریخ با Find
جستجو کردن فایل هایی که در روزهای قبل ویرایش شده اند.
find مسیر -mtime تعداد روز
جستجوی کردن تمام فایل هایی که در مسیر / در ۵۰ روز پیش به آنها دسترسی پیدا شده است، مشاهده شده اند.
find / -atime 50
بعنوان مثال جهت جستجوی فایل هایی که در ۵۰ روز پیش در مسیر / تغییر کرده اند از دستور زیر استفاده نمایید.
find / -mtime 50
جستجوی تمام فایل هایی که در یک ساعت اخیر تغییر داده شده اند.
find / -cmin -60
جستجوی تمام فایل هایی که در یک ساعت اخیر ویرایش شده اند.
find / -mmin -60
newerXy : این گزینه در صورتی قابل استفاده است که timestamp X فایلی که در جستجوی آن هستیم از timestamp Y آن جدیدتر باشد. بجای X و Y میتوان هر یک از حروف زیر را استفاده کرد :
a: این سوئیچ زمان دسترسی فایل میباشد.
B :این آپشن زمان ایجاد فایل میباشد.
m: زمان تغییر فایل
t: با استفاده از این سوئیچ میتوانید مستقیما در دستور یک تاریخ را درج کنید.