• توجه: در صورتی که از کاربران قدیمی ایران انجمن هستید و امکان ورود به سایت را ندارید، میتوانید با آیدی altin_admin@ در تلگرام تماس حاصل نمایید.

جست و جو به دنبال فایل و فولدر ها با استفاده از خط فرمان

ناهید

متخصص بخش




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

:
find گزینه های H, P, L مشخص میکند به صورت نمادین که به دنبال کدام فایل هستید.debugopts هم برای شما یک سری اطلاعات دیباگینگ را نمایان میکند و -۰level هم query optimization را برای شما فراهم میکند.برای این آموزش و بسیاری از استفاده های خود را پیدا کنید، ما فقط نیاز به مشخص کردن مسیر و expression داریم. The Path : مسیر مشخص که در آن به فایل سیستم نگاه کنید. پیدا کردن این مسیر و تمام زیرشاخه برای جستجو در تمام فایل سیستم با ‘/’ برای مسیرها مشخص میشود. Expression : خود این قسمت به سه قسمت : OPTIONS, TEST و ACTIONS تقسیم میشود.



OPTIONS -help این دستور یک خلاصه کوتاه استفاده های این خط فرمان را نشان میدهد.برای مثال و استفاده آن به صورت زیر است : find -help -mount این گزینه میتواند در دایرکتوری ها جستجو کند در فایل سیستم های دیگر، مانند درایوهای یواس بی نصب شده و حجم های دیگر است که می تواند آهسته به جستجو بپردازد.



TESTS این بخش به شما میگوید که به دنبال چه موردی هستید. -executable این میتواند به شما کمک کند که دایرکتوری ها و موارد executables را برای شما پیدا کند. این مورد در پیدا کردن دایرکتوری ها اگر با -file d ترکیب شود و یا با -file f برای پیدا کردن فایل های قابل اجرا کارآمد خواهد بود. -name/-iname این مورد با گرفتن نام فایل و یا دایرکتوری که شما در مورد آن جست و جو میکنید را پیدا میکند . این مورد باید با استفاده از ” بسته شود و از متا کاراکتر ها نیز مانند * ؟ و [] هم میتوانید استفاده کنید . -name جست جوی شما را حساس و -iname جست و جوی شما را از حساسیت خارج میکند. -regex هم به جای همان -name استفاده میشود و بیشتر به عنوان Emacs استفاده میشود. -type این مورد برای موراد مشخص به کار می آید مثلا با استفاده از پرچم f به دنبال فایل و با استفاده از d به دنبال دایرکتوری بگردید.




ACTIONS در این بخش انجام اقدامات در نتایج حاصل از دستور پدیدار میشود. -exec اجرای یک دستور بر روی هر فایل با نام فایل بر روی دستور گذشته.




خطای سرکوب : به طور معمول در هنگام جستجو در همه دایرکتوری با حساب کاربر غیر root, شما ممکن است با خطای مانند “find: `/var/spool/cron/crontabs`: Permission denied.” رو به رو شوید. ما میتوانیم این مورد را با استفاده از ورود ۲>/dev/null در خط فرمان وارد کنید. مثال ها: جستجو در کل فایل سیستم به دنبال یک فایل اجرایی: find / -name “grep” -executable -type f 2>/dev/null جستجو در کل فایل سیستم (اما نه درایوهای نصب شده) برای یک پوشه:

find / -mount -executable -iname “music” -type d 2>/dev/null






منابعی برای مطالعه بیشتر: این آموزش تنها بخشی از قابلیت های find پوشش می دهد. من امیدوارم که آن را به اندازه کافی برای انجام بسیاری از آنچه که شما نیاز دارید، اما هستند بسیاری از گزینه های بیشتر در کتابچه راهنمای پیدا کردن وجود دارد. man find برای کسب اطلاعات در مورد عبارات که به شما انعطاف پذیری بیشتری درباره عبارات جستجو بدهید میتوانید پیج راهنمای POSIX را مطالعه کنید. man 7 regex امیدوارم این آموزش مورد توجه شما دوستان قرار گرفته باشد.


 
بالا