متفاوت ترین مجله اینترنتی ...

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

0

linux_logoff1

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

فرمت کلی این کامند به صورت زیر است :

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path…] [expression]

 گزینه های H, P, L مشخص میکند به صورت نمادین که به دنبال کدام فایل هستید.debugopts هم برای شما یک سری اطلاعات دیباگینگ را نمایان میکند و -0level هم 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.” رو به رو شوید. ما میتوانیم این مورد را با استفاده از ورود 2>/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

امیدوارم این آموزش مورد توجه شما دوستان قرار گرفته باشد.

ممکن است به این مطالب نیز علاقمند باشید

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.

DigiKala Ads
در این آموزش ما یاد میگیریم که چگونه به راحتی و سریع مکان فایل ها را با استفاده از خط فرمان در سیستم پیدا کنیم. […]