معرفی دستور Find و چند مثال کاربردی
اگر بخواهیم فایل یا پوشهای را در سیستمعامل ویندوز پیدا کنید میتوانید با استفاده از نوار جستجو که در ویندوز پیادهسازی شده این کار را بهراحتی انجام دهید. این ابزار در فایل اکسپلور ویندوز قرار داشته و میتواند بهراحتی فایلهای مختلف با محتوای مدنظر شما را پیدا کند. اما این کار در لینوکس قابلانجام نیست.
درصورتیکه سیستمعامل سرور یا کامپیوتر شخصی شما یکی از توزیعهای لینوکس باشد، نمیتوانید تنها با جستجوی نام فایل در یک نوار جستجو آن را پیدا کنید. بهجای این ابزار، دستور Find در اختیار شما قرار گرفته است. شما میتوانید با استفاده از دستور فایند بهراحتی انواع فایلها و پوشهها را در سیستم لینوکسی خود پیدا کنید. همراه ما باشید تا در ادامه نحوه کار با این دستور را بررسی کنیم.
نحوه کار دستور فایند
دستور فایند یکی از مهمترین و کاربردیترین دستوراتی است که در سیستمعامل لینوکس در اختیار شما قرار گرفته است. میتوانید با استفاده از این دستور بهراحتی انواع فایلها و پوشهها را پیدا کرده و برای این کار از فیلترهای مخصوصی نیز استفاده کنید.
این دستور در محیط شل لینوکس اجرا شده و قابلیت این را دارد که با اضافهکردن آپشنهای مختلف، ستونها و سطرهای جستجو را شخصیسازی کند. شما میتوانید به کمک این دستور فایلهای مختلف را بر اساس نام، نوع، پسوند، سطح دسترسی و… پیدا کنید.
جستجوی فایل بر اساس پوشه و نام
یکی از مهمترین کاربردهایی که دستور Find در اختیار شما قرار داده است، استفاده از آن برای پیداکردن پوشهها و فایلهای مختلف بر اساس نام است. برای این کار میتوانید همانند الگوی زیر از دستور فایند برای پیداکردن فایل بر اساس نام اقدام کنید:
Find / -name famaserver
شما میتوانید با قراردادن فلگ -name جستجو را بر اساس نام انجام دهید. پس از این فلگ باید نام فایل یا پوشه را قرار دهید. اگر نام فایل وارد شده دارای Space یا کاراکتر دستوری است، میتوانید این نام را درون دابلکوتیشن قرار دهید.
جستجو بر اساس نوع فایل
یکی دیگر از کاربردهایی که میتوانید با استفاده از دستور فایند از آن بهره ببرید جستجوی فایل بر اساس نوع است. میتوانید نوعهای مختلف فایل را مشخص کرده و بهراحتی نتایج را بهصورت کامل نتایج را مشاهده کنید. میتوانید از دستوری به الگوی زیر بهراحتی فایلها را پیدا کنید:
find / -type d -name famaserver find / -type f -name famaserver
فلگ d برای پوشهها و فلگ f برای فایلها استفاده میشود.
جستجو بر اساس پسوند فایل
شما همچنین میتوانید به کمک دستور فایند فایلها را بر اساس پسوند نیز پیدا کنید. پسوند فایلهای مختلف نسبت به یکدیگر تفاوتهای زیادی دارد. هر کدام پسوندها نشاندهنده نوع گوناگونی از فایلها هستند. دستور یک نمونه برای پیداکردن فایل با استفاده از دستور فایند است:
find / -type f -name “*.jpg”
همانطور که مشاهده میکنید، دستور بالا از فلگ f برای پیداکردن فایل استفاده کرده است. برای مشخصکردن پسوند نیز باید پس از فلگ -name پسوند را وارد کنید که در اینجا از پسوند تصویر jpg استفاده کردهاند.
جستجو بر اساس سطوح دسترسی
جستجو بر اساس سطوح دسترسی یکی دیگر از کاربردهایی است که با کمک دستور فایند در اختیار خواهید داشت. این دستور فوقالعاده کاربردی به شما اجازه میدهد که فایلهای مختلف را بر اساس سطوح دسترسیشان پیدا کنید. مثال زیر را مشاهده کنید:
find / -type f -perm 0777 -name famaserver.
در این مثال دستور -prem به همراه کد 0777 نوشته شده است. این یعنی فایلهایی را برای ما پیدا کن که دسترسی آنها 777 باشد. شما همچنین میتوانید برای پیداکردن فایلها با دسترسی اجرایی نیز از دستور find / -perm /a=x استفاده کنید. توجه کنید که استفاده از دستور exec در کنار دستورات لینوکسی نیازمند توجه و هوشیاری است.
جستجو بر اساس نام کاربری
جستجوی بر اساس نام کاربری نیز با کمک دستور فایند امکانپذیر است. این دستور فوقالعاده کاربری و گسترده میتواند با کمک نام کاربری شما فایلهای مرتبط را پیدا کرده و اجازه مشاهده آنها را نیز صادر کند. به طور مثال برای پیداکردن فایل بر اساس نام مالک دستور زیر را وارد کنید:
find / -name famaserver
همچنین دستور زیر نیز برای فایلهایی است که مالکیت آنها به گروه مربوط میشود:
find /home -group developer
جستجو بر اساس تاریخ و ساعت فایل
شما میتوانید به کمک دستور فایند فایلها را بر اساس تاریخ و ساعت نیز جستجو کنید. استفاده از حرف m در این دستور بر اساس زمان تغییر محتوا، حرف a بر اساس زمان دسترسی یا خواندن و حرف c بر اساس زمان تغییر متادیتا فایل انجام میشود. همچنین در انتهای دستور نیز باید بر اساس time یا min مقدار روز یا دقیقه را مشخص کنید. همانند نمونه زیر:
find / -mtime 10
در این نمونه دستور برای فایلهای 10 روز اخیر انجام شده و جستجو نیز بر اساس تغییر در محتوای فایل انجام میگیرد.
جستجو بر اساس سایز فایل
آخرین کاربردی که دستور فایند در سیستمعامل لینوکس در اختیار شما قرار میدهد این است که شما میتوانید به کمک این دستور، فایلها را بر اساس سایز پیدا کرده و دستهبندی کنید. به طور مثال دستور زیر به دنبال یک فایل 20 مگابایتی میگردد:
find / -size 20M
مثال زیر فایلهای jpg که بیشتر از 20 مگابایت حجم دارند را پیدا کرده و برای شما لیست میکند:
find / -type f -name *.jpg -size +20M -exec rm {} \;
سخن پایانی
یکی از بهترین و کاربردیترین دستوراتی که در سیستمعامل لینوکس وجود داشته و میتوانید در تمامی توزیعهای این سیستمعامل از چنین دستوری استفاده کنید، دستور فایند است. دستور Find یک دستور است که به کمک آن قابلیت جستجوی فایلها و دایرکتوریهای مختلف در لینوکس را دارید.
تمامی نکات و کاربردهایی که برای استفاده از این دستور وجود داشت را با هم بررسی کردیم. شما میتوانید با استفاده از این دستور بر اساس معیارهای گوناگونی که در این مقاله ذکر شده است فایلهای مختلف را پیدا کرده و به آنها دسترسی داشته باشید. امیدواریم که این مقاله آموزشی از تیم فاماسرور برای شما مفید واقع بوده باشد.
دستور Find چیست؟
دستور Find یک دستور مهم در سیستمعامل لینوکس است که عملکرد جستجوی فایل و دایرکتوری را به شما ارائه میدهد. این دستور سرعت بالایی داشته و در تمامی توزیعهای لینوکس وجود دارد.
چرا باید از دستور فایند استفاده کنیم؟
درصورتیکه میخواهید فایلهای مختلف در لینوکس را پیدا کنید نیازمند استفاده و کمکگرفتن از دستورات مختلف Find هستید.
دستور فایند بر اساس چه معیارهایی فایل را پیدا میکند؟
همانطور که در مقاله مشاهده کردید، دستور فایند کاربردهای مختلفی داشته و میتواند با معیارهای متفاوتی عملکرد جستجو را انجام دهد. از مهمترین این معیارها میتوان به زمان، حجم، نام، سایز و… اشاره کرد.
famaserver.com