find command در لینوکس
find command در لینوکس find یک دستورالعمل برای فیلتر بازگشتی اشیاء در سیستم فایل بر اساس یک مکانیسم ساده شرطی است. برای جستجوی فایل یا فهرست در سیستم پرونده خود از find استفاده کنید.
فرمان یافتن لینوکس یکی از مهمترین و پر کاربردترین ابزار خط فرمان در سیستم عامل های مشابه یونیکس است.
دستور find برای جستجو و پیدا کردن فایل در سیستم عامل linux و یافتن لیست پرونده ها و فهرست ها بر اساس شرایطی که برای پرونده هایی که با آرگومان ها مطابقت دارند تعیین می شود.
یافتن می تواند در شرایط گوناگونی مورد استفاده قرار گیرد مانند اینکه می توانید پرونده ها را با مجوزها ، کاربران ، گروهها ، نوع پرونده ، تاریخ ، اندازه و سایر معیارهای ممکن پیدا کنید.
اگر دستور find را بدون هیچ آرگومان و گزینه ای وارد کنید، لیست تمام فایلهای موجود در شاخه جاری و زیر شاخههای آن را چاپ میکند.
انواع جستجو در میان فایل ها در لینوکس
find command در لینوکس دستور find با سوئیچ های مختلفی که دارد امکان سرچ در لینوکس را به سادگی فراهم می کند. نحوه جستجو در ترمینال لینوکس را براساس معیار های مختلف مثل حجم، نام ، پسوند، سطح دسترسی، تاریخ و … عبارتند از:
- جستجوی فایل ها بر اساس نام
جهت سرچ بر اساس نام نیاز است از دستور find با سوئیچ -name استفاده کنید، البته اگر می خواهید بحروف بزرگ و کوچک حساس نباشد بجای -name از -iname استفاده کنید.
|
بطور مثال اگر می خواهید فایلی بنام test.jpg را در دایرکتوری جاری سرچ کنید. دستور بصورت زیر می شود.
|
|
جهت سرچ کلیه فایل ها در دایرکتوری /home و با نام test.txt لازم است دستور زیر را اجرا کنید :
|
|
به عنوان مثال در تصویر زیر فایل هایی با نام passwd در دایرکتوری / سرچ شده و خروجی بصورت زیر مشاهده شده است:
- جستجوی پوشه ها بر اساس نام
ساختار دستور بصورت زیر می باشد:
|
|
بعنوان مثال برای جستجو تمام پوشه های بنام backup در /home دستور به صورت زیر تغییر می کند:
|
|
یا بطور مثال برای پیدا کردن فایل های مخفی در /home/aban/public_html/ از دستور زیر استفاده کنید:
|
|
بعنوان مثال در تصویر زیر پوشه هایی با نام public_html در دایرکتوری / سرچ شده و خروجی بصورت زیر مشاهده شده است:
- جستجوی فایل ها با پسوند خاص
ساختار دستور بصورت زیر می باشد:
|
|
بطور مثال جهت سرچ فایل هایی با پسوند .php در مسیر جاری دستور به صورت زیر تغییر می یابد:
- جستجوی فایل ها با سطح دسترسی خاص
ساختار دستور بصورت زیر می باشد:
|
|
بطور مثال برای پیدا کردن کلیه فایل ها با سطح دسترسی ۷۷۷ از دستور زیر می توانید استفاده کنید.
|
|
- جستجوی دایرکتوری ها با سطح دسترسی خاص
ساختار دستور بصورت زیر می باشد، بصورت کلی type با سوئیچ f برای فایل ها با سوئیچ d برای دایرکتوری/پوشه ها استفاده می شود.
|
|
بطور مثال برای پیدا کردن کلیه پوشه ها با سطح دسترسی ۷۷۷ از دستور زیر می توانید استفاده کنید.
|
|
با استفاده از ! در دستور FIND می توانید عملیات جستجوی معکوس را انجام دهید.
بعنوان مثال جهت جستجوی تمام فایل ها موجود در /home که پرمیژن آن ۷۷۷ نیست از دستور زیر استفاده کنید:
- جستجوی فایل ها و دایرکتوری های خالی
جهت جستجوی فایل های خالی از دستور با ساختار زیر استفاده کنید:
|
|
جهت جستجوی پوشه های خالی از دستور با ساختار زیر استفاده کنید:
|
|
- جستجوی فایل های یک یوزر خاص
جهت جستجوی فایل های یک یوزر خاص از دستور با ساختار زیر استفاده کنید:
|
|
بطور مثال برای جستجو تمام فایل هایی که متعاق به یوزر aban و در مسیر /home/admin است، دستور بصورت زیر می باشد:
1
|
find /home/admin –user root
|
- جستجوی فایل ها بر اساس حجم
جهت جستجوی فایل ها بر اساس حجم از دستور با ساختار زیر استفاده کنید:
|
|
بعنوان مثال جهت جستجوی فایل ها با حجم بیشتر از ۵۰ و کمتر از ۱۰۰ مگابایت دستور به صورت زیر تغییر می کند:
|
|
بعنوان مثال در تصویر زیر فایل های لاگ موجود در سرور با حجم بیشتر از ۱۰ مگابایت سرچ شده و در خروجی نمایش داده می شود: