دستورات جستجوی لینوکس در دسته بندی دستورات لینوکس شامل چندین دستور برای جستجو و پیدا کردن فایلها و همچنین محتوای درون فایلها میباشد. هر کدام از دستورات جستجوی لینوکس کاربرد خاصی دارند.
در ادامه، دستورات جستجوی لینوکس را همراه با توضیحات، تفاوتها و مثالهای کاربردی بیان میکنیم.
لیست کامل دستورات جستجوی لینوکس همراه با مثال
دستور find
در بین دستورات جستجوی لینوکس دستور find برای جستجوی فایلها و دایرکتوریها بر اساس معیارهایی مثل نام، نوع فایل، اندازه، تاریخ تغییر و غیره استفاده میشود. مثالها:
جستجوی یک فایل با نام مشخص:
find /path/to/search -name filename.txt
در این مثال، سیستم فایلهایی به نام filename.txt را در مسیر مشخص شده جستجو میکند.
جستجوی فایلهایی که در ۷ روز گذشته تغییر کردهاند:
find /path/to/search -type f -mtime -7
جستجوی دایرکتوریها:
find /path/to/search -type d
جستجوی فایلهای بزرگتر از 100 مگابایت:
find /path/to/search -type f -size +100M
جستجوی فایلها و اجرای یک دستور خاص برای آنها (مثلاً حذف فایلهای قدیمی):
find /path/to/search -type f -mtime +30 -exec rm {} \;
کاربرد دستور locate در دستورات جستجوی لینوکس
کاربرد این دستور برای جستجوی سریع فایلها بر اساس نام است. این دستور از یک دیتابیس داخلی استفاده میکند و بسیار سریعتر از find است، اما نیازمند بروزرسانی دیتابیس میباشد. مثالها:
جستجوی یک فایل با نام filename:
locate filename
بروزرسانی دیتابیس locate:
updatedb
کاربرد دستور which در دستورات جستجوی لینوکس
از این دستور برای پیدا کردن مسیر کامل اجرایی یک دستور یا برنامه استفاده میشود. مثالها:
پیدا کردن مسیر برنامه ls:
which ls
یدا کردن مسیر python:
which python
دستور whereis
برای جستجوی محل نصب برنامهها و همچنین فایلهای مرتبط (مانند فایلهای باینری، سورس و داکیومنتها) از این دستور استفاده میشود. مثالها:
پیدا کردن مسیر برنامه bash:
whereis bash
جستجوی فایلهای مرتبط با gcc:
whereis gcc
کاربرد دستور grep در دستورات جستجوی لینوکس
از این دستور برای جستجوی محتوای درون فایلها یا خروجی دستورات استفاده میشود. این دستور به شما اجازه میدهد تا رشتههای متنی خاصی را در فایلها پیدا کنید. مثال:
جستجوی یک رشته خاص در یک فایل:
grep ‘search term’ /path/to/file
جستجوی یک رشته در کل فایلهای یک دایرکتوری:
grep ‘search term’ /path/to/directory/*
جستجوی کلمات حساس به بزرگی و کوچکی حروف:
grep -i ‘Search term’ /path/to/file
نمایش شماره خطی که رشته در آن وجود دارد:
grep -n ‘search term’ /path/to/file
جستجو در خروجی یک دستور (پیدا کردن پروسس خاص):
ps aux | grep ‘bash’
ترکیب دستورات find + grep
از ترکیب این دو دستور برای جستجوی فایلها بر اساس نام و سپس جستجوی محتوای آنها میتوان استفاده کرد.
مثال:
پیدا کردن تمام فایلهای .txt و جستجوی یک رشته درون آنها
find /path/to/search -name “*.txt” -exec grep ‘search term’ {} \;
دستور awk
از این دستور برای جستجو و پردازش دادهها در فایلها یا خروجی دستورات میتوان استفاده کرد.. معمولاً برای پردازش فایلهای متنی ساختاریافته مثل CSV از این دستور استفاده میشود. مثالها:
استخراج ستون دوم از یک فایل:
awk ‘{print $2}’ /path/to/file
جستجوی خطوطی که یک عبارت خاص دارند:
awk ‘/search term/’ /path/to/file
نمایش خطوطی که یک مقدار خاص در ستون اول دارند:
awk ‘$1 == “value”‘ /path/to/file
کاربرد دستور sed دستورات جستجوی لینوکس
این دستور برای جستجو و جایگزینی محتوای درون فایلها به کار میرود. مثالها:
جستجو و جایگزینی یک رشته در فایل:
sed ‘s/oldtext/newtext/g’ /path/to/file
حذف خطوطی که حاوی یک رشته خاص هستند:
sed ‘/search term/d’ /path/to/file
تفاوتها و موارد استفاده هر کدام از دستورات جستجوی لینوکس
find: این دستور برای جستجوی فایلها و دایرکتوریها در سیستم فایلها استفاده میشود. بسیار انعطافپذیر است و میتواند بر اساس معیارهای مختلف جستجو کند.
locate: دستور locate برای جستجوی سریع فایلها بر اساس نام، اما از دیتابیس استفاده میکند، بنابراین ممکن است اطلاعات قدیمی را نشان دهد.
which: از این دستور برای پیدا کردن مسیر اجرایی یک برنامه خاص میتوان استفاده کرد.
whereis: از این دستور برای پیدا کردن فایلهای باینری، سورس و داکیومنتهای مرتبط با یک برنامه میتوان استفاده کرد.
grep: از این دستور برای جستجوی محتوای فایلها یا خروجی دستورات استفاده میشود. این دستور بیشتر مناسب برای جستجوی متون است.
awk: این دستور بیشتر برای پردازش و تجزیه فایلهای متنی استفاده میشود.
sed: از این دستور برای ویرایش محتوای فایلها بدون باز کردن آنها در ویرایشگر متن استفاده میشود.
جمعبندی دستورات جستجوی لینوکس
اگر نیاز به جستجوی فایل دارید، از find و locate استفاده کنید.
اگر دنبال مسیر برنامهها هستید، از which و whereis استفاده کنید.
برای دنبال جستجوی محتوای فایلها هستید، از grep، awk و sed بسته به نیاز استفاده کنید.
نظر خود را در مورد این مقاله بنویسید