چند روش برای یافتن و مکان یابی فایل ها از ترمینال در لینوکس وجود دارد ، وfind ، located ، witch و whereis از جمله دستورات متداول برای انجام این کار هستند. اجازه دهید نگاهی به این چهار فرمان جستجو و شباهت ها و تفاوت های آنها بیندازیم.
1 .Find
روش ساده برای جستجوی فایلها در هر فهرست مشخص ، استفاده از دستور find است. اگر دایرکتوری برای انجام جستجو به صراحت مشخص نشده باشد ، جستجو در فهرست موجود صورت می پذیرد.
تصویر زیر نشان می دهد که چگونه در فهرست موجود (.) ، جستجو برای همه نامهای پرونده با پسوند .txt انجام می شود.

جستجو همچنین می تواند بر اساس مکان های زمانی ، مجوزهای پرونده ، اندازه پرونده ، نوع پرونده ، مالک پرونده و غیره انجام شود. برای کنترل پارامترهای جستجو می توانید از عبارات منظم استفاده کنید. دستورالعمل های دقیق تر درباره دستور find را می توان در اینجا یافت.
2 .Locate
این دستور یک روش دیگر برای یافتن پرونده ها با نام است. دستور قبلی دایرکتوری مشخص شده را جستجو می کند و سپس نتایج را در اختیار کاربر قرار می دهد. این ابزار با استفاده از پایگاه داده با نام “mlocate.db” ، که در “/var/lib/mlocate/mlocate.db” قرار دارد ، جستجو را انجام می دهد. این بانک اطلاعاتی هر روز صبح توسط ابزار cron به روز می شود.
این دستور سریعتر از find اجرا می شود زیرا جستجو در یک پایگاه داده موجود صورت میگیرد که از پیش لیست همه پرونده ها و دایرکتوری های موجود در سیستم را تنظیم کرده است.
Locate از طریق نمایه ی نام فایل ، مسیر دقیقی را که فایل در ان وجود دارد نشان می دهد.
![]()
فرض کنیم یک اسکریپت در فهرست اصلی ایجاد شده است.

اگر تلاش کنیم اسکریپت تازه ایجاد و کپی شده را بیابیم ، نتیجه ای به دست نمی آید.
locate myscript
از آنجایی که کرون فقط صبح دیتابیس را به روز می کند ، هر پرونده در طول روز به سیستم اضافه می شود ، بنابراین پایگاه داده باید به صورت دستی بروز شود. این کار را می توان با استفاده از دستور updateb انجام داد.
sudo updatedb
اگر تلاش کنیم اسکریپت سفارشی را “مکان یابی” کنیم ، می توانیم پرونده را پیدا کنیم.

3 .Witch
بعد از بحث در مورد دستورات برای جستجوی فایلها ، اجازه دهید به فرمانی گریز بزنیم که می تواند به جستجوی مسیر مطلق اجرایی در سیستم کمک کند: witch
ممکن است یک فایل اجرایی / اسکریپت یا باینری در مکانهای مختلف در سیستم موجود باشد. Witch در دایرکتوری های مشخص شده در $ PATH و متغیرهای محیط MANPATH $ برای وجود عامل اجرایی مشخص شده جستجو می شود.
بدون هیچ سوئیچی، witchاولین مسیر مطلق را برای یک فایل اجرایی نمایش می دهد.
![]()
سوئیچ -a. تمام وقایع مسیرهای یافت شده مطلق را برای اجرای مشخص شده نمایش می دهد

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

4 .Whereis
Whereis دستور دیگری است که برای بدست آوردن سه قطعه اطلاعات در مورد یک فایل اجرایی استفاده می شود:
- مسیر مطلق باینری
- مسیری مطلق که کد منبع آن باینری در سیستم وجود داشته باشد
- مسیر مطلقی از کتابچه راهنمای کاربر که برای آن باینری وجود دارد
![]()
برای “bzgrep” ، فایل باینری در “/ bin” وجود دارد ، و دفترچه راهنما در “/ usr / share / man / man1″ وجود دارد. ” کد منبع آن در سیستم وجود ندارد.”
از whereis می توان دستور داد كه تنها مسیر مطلق باینری را با استفاده از سوئیچ -b جستجو كنید. جستجو فقط در فهرست هایی که پس از سوئیچ -B ذکر شده اند قادر به انجام خواهد بود. اسامی پس از f- تمام فایل های باینری را که باید برای به دست آوردن اطلاعات بدست آورید ، مشخص میکند.
به همین ترتیب ، جستجو فقط با کد منبع یا فقط کتابچه ها ، با استفاده از سوئیچ های -s و -m محدود می شود. -S و –M به دنبال نام دایرکتوری ها دایرکتوری ها را به ترتیب برای جستجوی کد منبع و کتابچه راهنمای کاربر مشخص می کنند.
سوئیچ -l لیست کاملی از مسیرهای مطلق کلیه دایرکتوری ها را که توسط آنها برای انجام جستجو استفاده می شود ، ارائه می دهد.
نتیجه
برای یافتن و موقعیت یابی فایل ها در ترمینال کمبود ابزار وجود ندارد. امیدوارم اکنون درباره چهار ابزار جستجوی مفید در سیستم های لینوکس موارد مفیدی آموخته باشید اگر به جزئیات بیشتری در مورد استفاده از آنها نیاز دارید ، می توانید صفحات کتابچه راهنمای کاربر آنها را برای تهیه اسناد دقیق بررسی کنید.
منبع : سایت Make Tech Easier

