سرورهای مبتنی بر سیستم عامل Linux معمولاً به دلایل امنیتی هیچ رابط گرافیکی ندارند. در این حالت، دانستن نحوه کار با ترمینال Linux بسیار مهم می شود. عمل بسیار مفیدی که می توانیم با ترمینال انجام دهیم جستجو در داخل یک فایل متنی است. مهمتر از همه، اگر ما با پرونده های پیکربندی سرویس هایی مانند NTP کار می کنیم.
در این مقاله، ما به شما می آموزیم که چگونه از دستور grep در لینوکس (Unix) استفاده کنید و با یک مثال مفید برای گردش کار روزانه، یادگیری را تقویت کنید.
نحوه استفاده از دستور Grep در Linux
دستور grep متعلق به خانواده Unix یکی از متنوع ترین و مفیدترین ابزار های موجود است. این در یک فایل متنی به دنبال الگویی است که ما تعریف می کنیم. به عبارت دیگر، با grep می توانید کلمه یا الگویی را جستجو کنید و خط یا خطوطی که آن را دارند چاپ شود.
در نگاه اول، این می تواند دستور کم اهمیتی باشد، با این وجود sysadmins که بسیاری از سرویس ها را با پرونده های مختلف پیکربندی اداره می کنند، از آن برای پرس و جو یا جستجوی خطوط خاص در آن پرونده ها استفاده می کنند.
ابتدا با استفاده از SSH به VPS وصل شوید. اگر مشکلی دارید، به آموزش نحوه استفاده از PuTTY – SSH Terminal مراجعه کنید!
ssh your-user@your-server
اگر در رایانه خود از Linux استفاده می کنید، فقط یک ترمینال را باز کنید.
نحوه استفاده از دستور grep هنگام جستجوی یک فایل به صورت زیر است :
grep [options] pattern [FILE]
- grep – دستورالعمل استفاده از دستور
- [options] – اصلاح کننده های دستور
- pattern – سرچ کوئری برای یافتن
- [FILE] – فایلی که در آن جستجو می کنید
با اجرای این دستور در خط فرمان می توانید مستندات و توضیحات گزینه های مختلف را مشاهده کنید :
grep –help
همانطور که می بینید، امکانات بسیاری وجود دارد که این دستور به ما ارائه می دهد. با این حال، مهمترین گزینه های مورد استفاده عبارتند از :
- -i : جستجو به حروف کوچک و بزرگ حساس نخواهد بود یعنی اگر می خواهید کلمه “car” را جستجو کنید همان “CAR” خواهد بود.
- -c : فقط تعداد خطوطی که با الگوی جستجو شده مطابقت دارند را نشان می دهد.
- -r : جستجوی بازگشتی را در فهرست فعلی فعال می کند.
- -n : خطوط را جستجو می کند و فقط تعداد مطابق خطوط متن را دریافت می کنید.
- -v : با استفاده از این گزینه خطوطی به ما نشان داده نمی شوند که با الگوی مورد نظر ما مطابقت ندارند.
برخی از مثال های مفید دستور grep
بیایید چند نمونه عملی از دستور grep را بررسی کنیم.
پیدا کردن یک کلمه در یک فایل متنی
برای جستجوی کلمه ای در یک فایل متنی، فقط دستور را تایپ کنید :
grep query file
- query : کلمه ای که دنبالش هستید.
- file : فایلی که در آن به دنبال کلمه می گردید.
در این مورد، ما به دنبال عبارت command در پرونده ای به نام grep هستیم :
grep command grep
خروجی خطوطی را که با پرس و جو مطابقت دارند برجسته می کند :
کلمه ای را بی توجه به حروف کوچک پیدا کنید
برای این کار لازم است آپشن -i را اضافه کنید.
grep -i query file
تعداد کلمات جستجوگر هدف
با استفاده از دستور grep می توانید بفهمید که چند بار از یک کلمه در پرونده متنی استفاده شده است. فقط آپشن -c را اضافه کنید.
grep -c query file
جستجوی چندین کلمه کلیدی
تاکنون به نمونه هایی اشاره کردیم که در آنها یک کلمه را جستجو می کنیم. Grep از کوئری های متعدد در یک دستور پشتیبانی می کند. دستور به صورت زیر است :
grep query1 file | grep query2 file
این دستور به روشی بسیار ساده کار می کند. ابتدا Query1 را جستجو می کنیم و سپس از طریق پایپ به دستور grep دوم برای کلمه دوم – Query2 می رسیم.
یافتن کلمه در مجموعه ای از پرونده ها
همچنین می توان مجموعه ای از پرونده ها را در یک دستور جستجو کرد :
grep -l word_to_search ./*
در ترمینال، پرونده هایی که کلمه شما را شامل میشود در خروجی نمایش داده می شوند.