ویرگول
ورودثبت نام
Amirhoseinsohrabi
Amirhoseinsohrabi
خواندن ۲ دقیقه·۳ سال پیش

پیدا کردن فایل با find در محیط ترمینال لینوکس

مقدمه

یکی دیگر از ابزارهایی که برای جستجو استفاده میشود ابزار find است . ابزار find تقریبا شبیه به locate است اما در کارکرد تفاوت های بسیاری دارد که اگر شما توضیحات مربوط به ابزار locate را خوانده باشید متوجه خواهید شد.لازم به ذکر است بدانید که می توانید به این ابزار rejex هم بدهید و در آخر هم شما با استفاده از این ابزار میتوانید هرچیزی در هرنقطه ای از هاردتان را پیدا کنید.

پیدا کردن فایل

با استفاده از دستور find مسیر و یک نام برای جستجو میتوانید کارتان را با ابزار شروع کنید.

$ find ~ 'amirhosein.txt'

جستجو کردن بر اساس نوع

اگر میخواهید که فقط به دنبال فایل یا پوشه ها بگردید میتوانید از سوییچ type- و آپشن های d & f کمک بگیرید. سوییچ d به جستجوی دایرکتوری ها و سوییچ f به جستجوی فایل ها میپردازد.

$ find /home -type d directoryname $ find /home -type f file name

پیداکردن فایل ها بر اساس حروف بزرگ و کوچک

اگر بخواهید در جستجویتان ابزار روی حروف بزرگتر و کوچکتر حساسیت نشان ندهد از سوییچ iname- استفاده کنید. برعکس همین دستور یعنی name- هم وجود دارد که در صورت استفاده ابزار به حروف بزرگتر و کوچکتر جساسیت نشان خواهد داد..

$ find /home/amirhosein/Downloads -name 'amir' Or $ find /home/amirhosein/Downloads -iname 'amir'

جستجو کردن بر اساس سطوح دسترسی

اگر میخواهید بر اساس پرمیژن ها به جستجو بپردازید میتوانید از آپشن prem استفاده کنید. در مثال زیر به دنبال فایلهایی با دسترسی ۷۷۷ هستیم.

$ find /home -type f -perm 777 -name amir.py

جستجو بر اساس تاریخ و ساعت

قبل از اینکه به جستجوی فایل ها بر اساس تاریخ و ساعت بپردازید لازم است بدانید که تغییرات در فایل های لینوکسی به چه صورت انجام میشود. Modified که با m مشخص می شود و به معنی تغییر در محتوای فایل است. Accessed که با a مشخص می شود که به معنی دسترسی ( خواندن ) فایل است. Changed که با c مشخص می شود و معادل با تغییر در متا دیتای ( Metadata ) فایل است. ولی محتوا دست نخورده باقی مانده است. در آپشن مورد استفاده برای این بخش اگر از time استفاده شود ، عدد مقابل آن به معنی روز است و اگر از min استفاده شد عدد مقابل آن معرف تعداد دقیقه است. به مثال های زیر توجه کنید.

# search by day $ find /home -mtime 10 $ find /home -atime 10 $ find /home -ctime 10 # search by minute $ find /home -mmin 10 $ find /home -amin 10 $ find /home -cmin 10

پیدا کردن فایل با پسوند خاص

اگر خواستید که فقط فایلهایی با پسوند خواص برای شما در جستجو نمایش داده شود از نمونه دستور زیر استفاده کنید.

$ find /home/amirhosein '*.jpeg'

پیداکردن فایل با حجم مشخص

اگر خواستید که فقط فایلهایی با حجم مشخص را ببینید از سوییچ size- استفاده کنید. اگر میخواستید که فایلهایی با بالاتر از حجم مشخص شده جستجو شود از علامت بعلاوه در کنار عدد مربوطه استفاده کنید.

$ find /home/Downloads -size 1G Or $ find /home/Downloads -size +100b $ find /home/Downloads -size +100M $ find /home/Downloads -size +1G

پیداکردن فایل هایی با چند فرمت مختلف

اگر خواستید که فایل هایی با چند فرمت مختلف را مشاهده کنید میتوانید از نمونه دستور زیر استفاده کنید.

$ find ~ ( -iname 'jpeg' -o -iname 'jpg' )
پیدا کردن فایل با findآموزش کار با findترفندهای لینوکسامیرحسین سهرابیکار با find در لینوکس
python developer
شاید از این پست‌ها خوشتان بیاید