پیدا کردن فایل و پوشه با دستور Find در لینوکس

پیدا کردن فایل و پوشه با دستور Find در لینوکس

امروز قصد داریم در این مقاله یکی از مهمترین دستورات لینوکس یعنی دستور find رو که برای جستجو  و یافتن لیستی از فایل ها و پوشه ها با توجه به argument هایی که شما برای فایل ها مشخص می کنید مورد استفاده قرار میگیرد. این دستور در حالات گوناگونی میتواند مورد استفاده قرار گیرد به طور مثال شما میتوانید فایل ها را از طریق permissions , users , group , file type , date , size و معیارهای ممکن دیگر پیدا کنید.

بخش اول :
کامند های اولیه find برای پیدا کردن فایل ها از طریق نام (names)

۱- پیدا کردن تمامی فایل هایی که نامشان linux-zone.txt باشد و در دایرکتوری جاری موجود باشند از طریق دستور زیر انجام میشود :

۲- پیدا کردن فایل ها تحت دایرکتوری home :

برای پیدا کردن تمامی فایل ها در دایرکتوری /home و با نام linux-zone.txt باید دستور زیر را اجرا کنیم :

۳ – پیدا کردن فایل ها با استفاده از نام و در نظر نگرفتن حروف بزرگ و کوچک (capital and small letters) :
برای جستجوی تمامی فایل هایی که نامشان linux-zone.txt باشد و شامل هم حروف کوچک و هم حروف بزرگ بوده و در دایرکتوری /home موجود باشند دستور زیر را اجرا میکنیم :

۴ – پیدا کردن پوشه ها با استفاده از نام :
دستور زیر تمامی پوشه هایی که نامشان linux-zone باشد و در دایرکتوری اسلش (/) قرار داشته باشند را لیست میکند :

۵- پیدا کردن فایل های php با استفاده از نام :
پیدا کردن تمامی فایل های php در دایرکتوری جاری که نامشان linux-zone.php باشد را از طریق دستور زیر میتوان انجام داد :

۶ – پیدا کردن تمامی فایل های php در دایرکتوری جاری :
با دستور زیر تمامی فایل های php با هر نامی که باشند لیست میشود :

بخش دوم :
پیدا کردن فایل ها بر اساس پرمیژن آنها

۱- پیدا کردن فایل هایی که پرمیژن آنها ۷۷۷ باشد :
برای پیدا کردن فایل ها در دایرکتوری جاری با توجه به اینکه پرمیژن آنها ۷۷۷ باشد از طریق دستور زیر صورت میگیرد :

۲- پیدا کردن فایل های بدون پرمیژن ۷۷۷ :
دستور زیر تمامی فایل هایی که پرمیژن ۷۷۷ را ندارند را پیدا میکند :

۳- پیدا کردن فایل های SGID با پرمیژن ۶۴۴ :
دستور زیر تمامی فایل های SGID که پرمیژن آنها ۶۴۴ باشد را پیدا میکند :

۴- پیدا کردن فایل های sticky bit با پرمیژن ۵۵۱ :
دستور زیر فایل هایی که sticky bit روی آنها تعریف شده و پرمیژن شان ۵۵۱ باشد را پیدا خواهد کرد :

۵- پیدا کردن فایل های SUID :
پیدا کردن تمامی فایل های SUID :

۶- پیدا کردن فایل های SGID :
پیدا کردن تمامی فایل های SGID :

۷- پیدا کردن فایل های قابل اجرا :
پیدا کردن تمامی فایل های قابل اجرا :

۸- پیدا کردن فایل هایی با پرمیژن ۷۷۷ و chmode کردن آنها به ۶۴۴ :
پیدا کردن تمامی فایل هایی که پرمیژن شان ۷۷۷ میباشد و تغییر پرمیژن شان به ۶۴۴ با کامند chmod از طریق دستور زیر انجام میشه:

۹ – پیدا کردن پوشه های با پرمیژن ۷۷۷ و chmode کردن آنها به ۷۵۵ :
پیدا کردن تمامی دایرکتوری هایی که پرمیژن شان ۷۷۷ میباشد و تغییر پرمیژن شان به ۷۵۵ با کامند chmod از طریق دستور زیر انجام میشه:

۱۰- پیدا کردن و حذف یک فایل :
برای پیدا کردن یه فایل مثلا به نام linux-zone.txt و حذف ان به شیوه ی زیر عمل میکنیم :

۱۱- پیدا کردن و حذف چندین فایل :
برای یافتن و حذف چندین فایل مانند .mp3 یا .txt به شیوه ی زیر عمل می کنیم :

۱۲- یافتن تمامی فایل های خالی :
برای پیدا کردن تمامی فایل های خالی در مسیر مورد نظر دستور زیر رو اجرا میکنیم :

۱۳- یافتن تمامی دایرکتوری های خالی :
برای پیدا کردن تمامی دایرکتوری خالی در مسیر مورد نظر دستور زیر رو اجرا میکنیم :

۱۴- یافتن تمامی فایل های مخفی (hidden) :
برای پیدا کردن تمامی فایل های مخفی در مسیر مورد نظر دستور زیر رو اجرا میکنیم :


بخش سوم :
جستجوی فایل ها بر اساس owner و group

۱- پیدا کردن تنها یک فایل بر اساس user :
برای پیدا کردن یک و یا تمامی فایل هایی که نام آنها linux-zone.txt باشد و owner آن هم root باشد دستور زیر را اجرا می کنیم :

۲- یافتن تمامی فایلها بر اساس user :
برای پیدا کردن تمامی فایلهای متعلق به یک user مثلا mohammad در دایرکتوری home باید از دستور زیر استفاده کرد :

۳- یافتن تمامی فایلها بر اساس group :
برای پیدا کردن تمامی فایلهای متعلق به یک group مثلا developer در دایرکتوری home باید از دستور زیر استفاده کرد :

 ۴- پیدا کردن فایلهای خاصی بر اساس user :
برای پیدا کردن تمامی فایل ها ی .txt که متعلق به یوزر mohammad و در دایرکتوری /home باشند با دستور زیر صورت میگیرد:

بخش چهارم :
پیدا کردن فایل ها و پوشه ها بر اساس date و time

۱- یافتن فایلهایی که ۵۰ روز قبل ویرایش شدند (Modified):
برای یافتن فایلهایی که ۵۰ روز قبل تغییری در متنش ایجاد شده (محتوا ویرایش شده : Modified) از دستور زیر استفاده میکنیم:

۲- یافتن فایلهایی که ۵۰ روز قبل باز شدند (Accessed):
برای یافتن فایلهایی که ۵۰ روز قبل در حقیقت آخرین باری بوده که باز شدن از دستور زیر استفاده میکنیم:

۳- یافتن فایلهایی که ۱۰۰-۵۰ روز قبل ویرایش شدند:
برای یافتن تمامی فایلهایی که بیشتر از ۵۰ روز قبل و کمتر از ۱۰۰ روز قبل تغییری در متن آنها ایجاد شده از دستور زیر استفاده میکنیم:

۴- یافتن فایلهایی که در طول یک ساعت قبل تغییر داده شدند(Changed):
برای یافتن تمامی فایلهایی که در طول یک ساعت قبل تغییر کردن (Changed) و این تغییر در metadataی فایل صورت گرفته مثلا تغییر پرمیژن و .. از دستور زیر استفاده میکنیم:

۵- یافتن فایلهایی که یک ساعت قبل ویرایش شدند(Modified):
برای یافتن تمامی فایلهایی که یک ساعت قبل ویرایش شدند (Modified) از دستور زیر استفاده میکنیم:

۶- یافتن فایلهایی که یک ساعت قبل باز شدند(Accessed):
برای یافتن تمامی فایلهایی که یک ساعت قبل باز شدند (Accessed) از دستور زیر استفاده میکنیم:

بخش پنجم :
پیدا کردن فایل ها و پوشه ها بر اساس سایز

۱- یافتن فایل های با سایز ۵۰MB :
برای پیدا کردن تمامی فایلهای ۵۰mb دستور زیر را اجرا میکنیم:

۲- یافتن فایل های با سایز بین ۵۰MB و ۱۰۰MB :
برای پیدا کردن تمامی فایلهای بزرگتر از۵۰mb و کوچکتر از ۱۰۰MB دستور زیر را اجرا میکنیم:

۳- یافتن و پاک کردن فایل های ۱۰۰MB :
برای پیدا کردن و حذف فایل های ۱۰۰مگابایتی تنها دستور زیر را اجرا کنید :

۴- یافتن و پاک کردن فایل های خاص :
برای پیدا کردن و حذف تمامی فایل های .mp3 که سایزشان بیشتر از ۱۰ مگابایت باشد تنها دستور زیر را اجرا کنید :

 

نظرات کاربران

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

3 × چهار =