آموزش لینوکس: جستجوی سریع داخل فایل‌ها با دستور grep

یکی از پرکاربردترین دستورات در لینوکس برای جستجوی متن داخل فایل‌ها، دستور قدرتمند grep است.
به جای اینکه تک‌تک فایل‌ها را باز کنید و دنبال یک کلمه یا عبارت بگردید، می‌توانید با این دستور در چند ثانیه متوجه شوید که عبارت مورد نظر شما در کدام فایل قرار دارد.

چرا از دستور grep در لینوکس استفاده کنیم؟

  • سرعت بالا در جستجوی فایل‌ها در لینوکس
  • قابلیت جستجو در یک فایل، پوشه یا کل سیستم
  • کاربردی برای مدیریت فایل‌ها و بررسی لاگ‌ها
  • صرفه‌جویی در زمان هنگام دیباگ و عیب‌یابی

جستجو در مسیر جاری (Current Directory)

برای جستجوی بازگشتی در تمام فایل‌های پوشه جاری می‌توانید از دستور زیر استفاده کنید:

grep -rl “password” .

توضیحات:
“password” → عبارت مورد نظر
. → مسیر جاری
-r → جستجوی بازگشتی در زیرپوشه‌ها
-l → نمایش فقط نام فایل‌ها

جستجو در یک مسیر مشخص

اگر بخواهید در مسیر خاصی مثل /home/user/ جستجو کنید، دستور به شکل زیر خواهد بود:

grep -rl “db_name” /home/user/

این دستور تمام فایل‌هایی که شامل عبارت db_name هستند را لیست می‌کند.

پارامترهای مهم دستور grep

  • -r → جستجوی بازگشتی (Recursive)
  • -l → نمایش فقط نام فایل‌ها
  • . → مسیر جاری

مثال کاربردی

برای مثال اگر بخواهید بدانید کدام فایل در مسیر /home/user/ شامل عبارت password است:

grep -rl “password” /home/user/

در چند ثانیه تمام فایل‌های مربوط نمایش داده می‌شوند.

جمع‌بندی

دستور grep در لینوکس ابزاری بسیار قدرتمند برای جستجوی سریع داخل فایل‌ها است.
ترکیب پارامترهای -r و -l این امکان را می‌دهد که به راحتی لیست فایل‌های حاوی یک عبارت خاص را پیدا کنید.
این دستور مخصوصاً هنگام مدیریت سرورهای لینوکسی، بررسی لاگ‌ها و دیباگ بسیار مفید است.

✍️ نویسنده: حسین سیلانی
📚 آموزش‌های بیشتر در: آکادمی کندوی دانش