جستجوی فایل در لینوکس

https://negarnovin.com/docs/how-to-use-the-locate-command-in-linux/ · آخرین به‌روزرسانی: · نویسنده: نگارنوین · سایت: نگارنوین · 13 دقیقه مطالعه

📌 خلاصه (TL;DR)

How to Use the Locate Command in Linux نحوه استفاده از دستور Locate در لینوکس جستجوی فایل در لینوکس براحتی آب خوردن یاد بگیرید!

📊 حقایق کلیدی

URLhttps://negarnovin.com/docs/how-to-use-the-locate-command-in-linux/
تاریخ انتشار2025-09-20
آخرین به‌روزرسانی2026-09-21
نویسندهنگارنوین
ناشرنگارنوین
زبانفارسی (fa-IR)
تعداد کلمات2458
نوع صفحهبرگه

📄 محتوای کامل

نحوه استفاده از دستور Locate در لینوکس جستجوی فایل در لینوکس یاد بگیرید که چگونه از دستور locate در لینوکس برای جستجوی سریع‌تر فایل‌ها استفاده کنید و از پایگاه داده کارآمد و مرتباً به‌روز شده آن بهره ببرید.

مقدمه

دستور locateدر لینوکس جایگزینی برای findدستور است. برخلاف find، این locateدستور به جای جستجو در کل سیستم فایل، در یک پایگاه داده که مرتباً به‌روز می‌شود، به دنبال فایل‌ها می‌گردد. این رویکرد، جستجو را سریع‌تر و راحت‌تر می‌کند، به‌خصوص هنگام کار با فایل‌های زیاد.

این مقاله نحوه استفاده از این locateدستور برای جستجوی موثر فایل‌ها و دایرکتوری‌ها در لینوکس را توضیح می‌دهد.

مزایای دستور locateبیش از حدfind

اگرچه هر دو دستور findand locateموارد استفاده خود را دارند، اما locateبسیار سریع‌تر عمل می‌کنند. locateاز پایگاه داده‌ای استفاده می‌کند که لینوکس به طور خودکار در پس‌زمینه می‌سازد تا نتایج سریع‌تری ارائه دهد. اگر پایگاه داده قدیمی باشد، نتایج حاصل locateممکن است همیشه وضعیت سیستم را منعکس نکند. با این حال، می‌توانید مرتباً پایگاه داده را به صورت دستی به‌روزرسانی کنید یا یک cron job برنامه‌ریزی کنید.

از طرف دیگر، دستور find در لینوکس با جستجوی بلادرنگ، نتایج دقیق‌تری ارائه می‌دهد و آن را برای یافتن فایل‌ها بر اساس معیارهای خاص ایده‌آل می‌کند.

درک locateپایگاه داده

این locateدستور به یک پایگاه داده متکی است که مکان فایل‌ها را در سراسر سیستم فایل شما فهرست‌بندی می‌کند. به طور پیش‌فرض، لینوکس این پایگاه داده را به صورت دوره‌ای از طریق یک کار پس‌زمینه به‌روزرسانی می‌کند. با این حال، به‌روزرسانی دستی پایگاه داده در صورت ایجاد تغییرات در سیستم فایل مهم است.

به‌روزرسانی دستی پایگاه داده

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

کنسولکپی
$ sudo updatedb

دستور بالا تضمین می‌کند که سیستم جدیدترین فایل‌ها و دایرکتوری‌ها را فهرست‌بندی می‌کند.

locateپایگاه داده را پیدا کنید

locateبه طور پیش‌فرض، در اکثر سیستم‌های لینوکس، پایگاه داده را در مسیر زیر پیدا خواهید کرد .

/var/lib/mlocate/mlocate.db

با این حال، می‌توانید هنگام جستجو با ارسال -dگزینه، فایل پایگاه داده متفاوتی را مشخص کنید:

کنسولکپی
$ locate -d /path/to/other/db pattern

دستور بالا به شما امکان می‌دهد پایگاه‌های داده سفارشی را مشخص کنید، به خصوص هنگام کار بر روی چندین سیستم فایل نصب شده یا اشتراک‌گذاری شبکه.

locateدستور نصب

اکثر سیستم‌های لینوکس این دستور را به طور پیش‌فرض از قبل نصب می‌کنند locate. با این حال، اگر این دستور را پیدا نکردید، مراحل زیر را برای نصب آن دنبال کنید.

  1. بررسی کنید که آیا locateدستور نصب شده است یا خیر. کنسولکپی
    $ locate

    اگر locateنصب نشده باشد، دستور خروجی زیر را چاپ می‌کند.

    locate: command not found

نصب locateروی اوبونتو و دبیان

locateبرای نصب در اوبونتو و دبیان مراحل زیر را دنبال کنید .

  1. فهرست اطلاعات بسته سیستم خود را به‌روزرسانی کنید. کنسولکپی
    $ sudo apt update
  2. بسته را نصب کنید locate. کنسولکپی
    $ sudo apt install plocate

    دستور بالا plocateبسته‌ای را نصب می‌کند که این locateدستور را در سیستم‌های اوبونتو و دبیان ارائه می‌دهد.

نصب locateروی CentOS و Fedora

locateبرای نصب روی CentOS و Fedora مراحل زیر را دنبال کنید .

  1. فهرست اطلاعات بسته سیستم خود را به‌روزرسانی کنید. کنسولکپی
    $ sudo yum -y update
  2. بسته را نصب کنید locate. کنسولکپی
    $ sudo yum install mlocate

    این دستور mlocate، بسته‌ای را نصب می‌کند که این locateدستور را در سیستم‌های CentOS و Fedora ارائه می‌دهد.

برای انتقال ایمن فایل‌ها بین سیستم‌های محلی و راه دور، دستور scp را در لینوکس برای مدیریت کارآمد فایل بررسی کنید.

locateسینتکس دستور

دستور زیر یک locateسینتکس پایه‌ای است:

locate [options] pattern

در دستور بالا locate:

  • [options]: پرچم‌های اختیاری را تعریف می‌کند که رفتار دستور را تغییر می‌دهند.
  • pattern: نام فایل یا دایرکتوری مورد جستجو را مشخص می‌کند.

تنظیم فایل‌ها و دایرکتوری‌های نمونه

برای ایجاد فایل‌ها و دایرکتوری‌های نمونه جهت آزمایش دستور، مراحل زیر را دنبال کنید locate.

  1. سه .txtفایل خالی ایجاد کنید. کنسولکپی
    $ touch negarnovin.txt negarnovin.txt NegarNovin.txt
  2. دو .exeفایل خالی ایجاد کنید. کنسولکپی
    $ touch NEGARNOVIN.exe file.exe
  3. یک dirدایرکتوری و یک زیر دایرکتوری ایجاد کنید. /path/to/parent/مسیر فعلی خود را جایگزین کنید. کنسولکپی
    $ mkdir -p dir /path/to/parent/dir1/sub_dir

    دستور بالا dirدایرکتوری و sub_dirزیر دایرکتوری را در زیر ایجاد می‌کند /path/to/parent/dir1/. این -pگزینه در صورت عدم وجود دایرکتوری‌های والد، آنها را ایجاد می‌کند.

    دایرکتوری فعال کاری خود را پیدا کنید.

    کنسولکپی
    $ pwd

    این دستور مسیر کامل دایرکتوری کاری شما را نمایش می‌دهد.

  4. یک فایل مانند ایجاد کنید logfile.txtو برخی از داده‌های نمونه را با یک ویرایشگر متن مانند بنویسید Nano. کنسولکپی
    $ nano logfile.txt
  5. محتویات زیر را به logfile.txtفایل اضافه کنید.
    2024-09-01 09:00:00 ERROR User login failed
    2024-09-01 10:00:00 INFO User profile updated
    2024-09-01 11:00:00 ERROR Database connection error
    2024-09-01 12:00:00 ERROR User login failed
    2024-09-01 13:00:00 WARN Disk space low
    2024-09-01 14:00:00 ERROR User login failed

    فایل را ذخیره کنید و ببندید.

رایج‌ترین locateگزینه‌ها

در اینجا رایج‌ترین locateگزینه‌های دستوری در لینوکس آورده شده است.

گزینه توضیحات
-i نادیده گرفتن تمایز حروف بزرگ و کوچک
-c فقط تعداد نام فایل‌های منطبق را چاپ کن
-n N تعداد نتایج را به N محدود کنید
-r استفاده از عبارات منظم پایه برای تطبیق الگو
--existing فقط فایل‌های موجود را چاپ کنید (فایل‌های حذف شده را نادیده بگیرید)
--regex الگو را به عنوان یک عبارت منظم توسعه‌یافته تفسیر کنید
-d مشخص کردن پایگاه داده مورد استفاده
--basename فقط نام فایل پایه را مطابقت دهید
--wholename نام کل فایل را مطابقت دهید

مثال‌ های کاربردی از دستورات Run locateدر لینوکس

برای یادگیری نحوه استفاده از locateدستور لینوکس، نمونه‌های زیر را اجرا کنید.

  1. locateپایگاه داده را برای فهرست‌بندی هرگونه فایل و دایرکتوری جدید به‌روزرسانی کنید . کنسولکپی
    $ sudo updatedb
  2. جستجوی یک فایل خاص با نام negarnovin.txt. کنسولکپی
    $ locate negarnovin.txt

    این دستور تمام مسیرهایی را که negarnovin.txtبا نام فایل مطابقت دارند فهرست می‌کند و تمام نمونه‌های موجود در پایگاه داده را نمایش می‌دهد.

    خروجی:

    سرور لینوکس” width=”۶۰۰″ height=”۱۷۰″ />

  3. یک جستجوی غیرحساس به حروف بزرگ و کوچک برای تمام فایل‌های با نام انجام دهید negarnovin.txt. کنسولکپی
    $ locate -i negarnovin.txt

    negarnovin.txtاین دستور یک جستجوی غیرحساس به حروف بزرگ و کوچک انجام می‌دهد، بنابراین نتایج را برای ، negarnovin.txtو سایر تغییرات حروف کوچک و بزرگ برمی‌گرداند .

    خروجی.

  4. تعداد فایل‌هایی که با مطابقت دارند را بشمارید example.txt. کنسولکپی
    $ locate -c example.txt

    این دستور تعداد کل فایل‌هایی که با مطابقت دارند example.txtرا بدون فهرست کردن آنها برمی‌گرداند.

    خروجی.

  5. نتایج جستجو را به 10… محدود کنید. کنسولکپی
    $ locate -n 10 example.txt

    این دستور خروجی را به اولین 10تطابق‌ها برای محدود می‌کند example.txt.

    خروجی.

  6. جستجوی فایل‌هایی که با .exeاستفاده از یک عبارت منظم به پایان می‌رسند. کنسولکپی
    $ locate -r '.exe$'

    خروجی.

اجرای locateمثال‌ های پیشرفته دستور

برای اجرای جستجوهای پیشرفته با دستور، مراحل زیر را دنبال کنید locate.

  1. جستجوی دایرکتوری با نام dir. کنسولکپی
    $ locate -r '/dir$'

    این دستور از یک عبارت منظم برای تطبیق دایرکتوری‌هایی که dirدر انتهای مسیر مطابقت دارند استفاده می‌کند.

    خروجی.

  2. جستجوی تمام .pdfفایل‌های افزونه. کنسولکپی
    $ locate -r '.pdf$'

    این دستور با استفاده از یک عبارت منظم، تمام فایل‌هایی را که .pdfپسوند آنها در انتها مشخص شده است، پیدا می‌کند.

    خروجی.

  3. گزینه‌هایی را برای جستجوی .logفایل‌ها، نادیده گرفتن موارد کوچک و محدود کردن نتایج به ترکیب کنید 5. کنسولکپی
    $ locate -ir '.log$' -n 5

    این دستور جستجویی بدون حساسیت به حروف بزرگ و کوچک برای فایل‌هایی که با .logپسوند خاتمه می‌یابند انجام می‌دهد و نتایج را به ۵ محدود می‌کند.

    خروجی.

  4. برای استخراج فیلدهای خاص از نتایج جستجو، locateبا را ترکیب کنید .awk کنسولکپی
    $ locate logfile.txt | xargs grep -i 'error' | awk '{$1=$2=$3=""; print substr($0, 4)}'

    این دستور با استفاده از مسیر فایل را پیدا می‌کند ، در آن فایل با locateجستجو می‌کند و با استفاده از تاریخ، زمان و سطح لاگ را از خروجی حذف می‌کند و فقط پیام‌های خطا را نمایش می‌دهد.errorgrepawk

    خروجی.

  5. برای شمارش تطابق‌های منحصر به فرد و مرتب‌سازی آنها، locateبا sortو ترکیب کنید .uniq کنسولکپی
    $ locate logfile.txt | xargs cat | grep -i 'error' | sort | uniq -c | sort -nr

    این دستور مسیر فایل را با استفاده از پیدا می‌کند locateو محتویات آن را با نمایش می‌دهد cat. سپس این دستور به دنبال خطوطی که شامل errorusing هستند می‌گردد grepو این خطوط را به ترتیب حروف الفبا مرتب می‌کند و در عین حال تعداد دفعات وقوع هر پیام خطای منحصر به فرد را با شمارش می‌کند uniq -c. سپس این دستور تعداد خطاها را به ترتیب نزولی مرتب می‌کند و خطاهای پرتکرار را در بالا نشان می‌دهد.

    خروجی.

  6. برای انجام ویرایش درون‌خطی روی نتایج جستجو، locateبا را ترکیب کنید .sed کنسولکپی
    $ locate logfile.txt | xargs cat | sed 's/error/ERROR/g'

    این دستور با استفاده از مسیر فایل را پیدا می‌کند locate، محتویات آن را با نمایش می‌دهد catو تمام موارد را errorبا جایگزین می‌کند . این دستور حالت کلمه را در سراسر محتوای فایل تغییر می‌دهد.ERRORsederror

    خروجی.

  7. برای ذخیره و نمایش خروجی به طور همزمان، locateبا را ترکیب کنید .tee کنسولکپی
    $ locate logfile.txt | xargs cat | grep 'ERROR' | tee output.txt

    این دستور با استفاده از مسیر فایل را پیدا می‌کند locate، محتویات آن را با استفاده از نمایش می‌دهد ، با استفاده catاز خطوط حاوی عبارت را جستجو می‌کند و با استفاده از خطوط منطبق را در ترمینال و فایل می‌نویسد .ERRORgrepoutput.txttee

    خروجی.

  8. فایل‌های حاوی کلمه را جستجو کنید logو نتایج را با استفاده از grepدستور فیلتر کنید. کنسولکپی
    $ locate log | grep '/var/log'

    دستور بالا ابتدا تمام نام فایل‌های حاوی را پیدا می‌کند logو سپس خروجی را به pipe می‌کند تا grepنتایج را فیلتر کند و فقط فایل‌های موجود در /var/logدایرکتوری را نشان دهد.

    خروجی.

  9. تمام فایل‌هایی که negarnovin.txtبا ترکیب locateبا مطابقت دارند را حذف کنید xargs. کنسولکپی
    $ locate negarnovin.txt | xargs rm -f

    این دستور تمام فایل‌های نامگذاری شده را پیدا می‌کند negarnovin.txtو لیست را به منتقل می‌کند xargs، که سپس فایل را با استفاده از rm -fدستور حذف می‌کند.

    خروجی.

  10. locateبرای جستجوی فایل‌ها و اجرای اقدامات پیشرفته با استفاده از `find` استفاده کنید . کنسولکپی
    $ locate negarnovin.txt | xargs -I {} find {} -type f -exec ls -l {} ;

    دستور بالا تمام فایل‌های نامگذاری شده را پیدا می‌کند negarnovin.txtو لیستی را findکه روی هر فایل اجرا می‌شود، ls -lبرای نمایش اطلاعات دقیق، به آن ارسال می‌کند.

    خروجی.

تنظیم locateمتغیرهای محیطی فرمان

متغیرهای محیطی لینوکس زیر بر این locateدستور تأثیر می‌گذارند.

  • LOCATE_PATH: مسیر پایگاه locateداده را مشخص می‌کند.
  • LOCATE_CONFIG: مسیر locateفایل پیکربندی را مشخص می‌کند.

متغیرLOCATE_PATH​

این متغیر محیطی به شما امکان می‌دهد یک مسیر سفارشی برای locateپایگاه داده تعریف کنید. به طور پیش‌فرض، locateدر پایگاه داده از پیش پیکربندی شده خود، که معمولاً در قرار دارد، جستجو می‌کند /var/lib/mlocate/mlocate.db.

locateشما می‌توانید با اجرای دستور زیر، مسیر پایگاه داده‌ی متفاوتی را تنظیم کنید . سپس locateبرای جستجو example.txtدر آن پایگاه داده، دستور زیر را اجرا کنید.

کنسولکپی
$ export LOCATE_PATH='/var/lib/plocate/plocate.db'
$ locate example.txt

متغیرLOCATE_CONFIG​

این متغیر محیطی، مسیر فایل پیکربندی سفارشی را مشخص می‌کند که نحوه locateرفتار را تعیین می‌کند. فایل پیکربندی پیش‌فرض، پارامترهای مهمی مانند اینکه کدام دایرکتوری‌ها از پایگاه داده حذف شوند یا کدام فایل‌ها در طول جستجو نادیده گرفته شوند را کنترل می‌کند. با سفارشی‌سازی این فایل، می‌توانید locateرفتار دستور را برای برآورده کردن نیازهای خاص خود به طور دقیق تنظیم کنید.

اگرچه در مقایسه با کمتر مورد استفاده قرار می‌گیرد LOCATE_PATH، این LOCATE_CONFIGمتغیر هنگام کار در محیط‌هایی که پیکربندی پیش‌فرض با نیازهای شما مطابقت ندارد، مفید است. می‌توانید متغیر را به یک فایل پیکربندی سفارشی ارجاع دهید که نحوه به‌روزرسانی پایگاه داده، مسیرهای فهرست‌بندی شده و موارد دیگر را تعریف می‌کند.

LOCATE_CONFIGبا اجرای دستور زیر می‌توانید متغیر را مقداردهی کنید .

کنسولکپی
$ export LOCATE_CONFIG='/path/to/my/locate.conf'

استفاده locateبا دستورات mlocateوslocate

mlocateو slocateدستورات، انواع مختلفی از locateدستور هستند، اما ویژگی‌ها و امنیت بیشتری ارائه می‌دهند. این دستورات اغلب به جای یکدیگر استفاده می‌شوند locate.

دستور mlocate(ادغام مکان)

mlocateنوعی از locateآن است که فقط بخش‌هایی از پایگاه داده که تغییر کرده‌اند را به‌روزرسانی می‌کند. این امر باعث می‌شود به‌روزرسانی پایگاه داده، به‌ویژه در سیستم‌هایی با فایل‌های زیاد، سریع‌تر و کارآمدتر باشد. mlocateویژگی‌های پیشرفته حریم خصوصی تضمین می‌کند که کاربران فقط می‌توانند فایل‌هایی را پیدا کنند که اجازه دیدن آنها را دارند.

مثال mlocateدستور.

کنسولکپی
$ sudo updatedb.mlocate
$ locate example.txt

دستور اول بالا mlocateپایگاه داده را به‌روزرسانی می‌کند و دستور بعدی در پایگاه داده locateبه دنبال موارد زیر می‌گردد.example.txt

دستور slocate(مکان‌یابی امن)

slocateنوع دیگری از locateدستور است که بر امنیت تأکید دارد. این دستور تضمین می‌کند که کاربران فقط می‌توانند نتایج مربوط به فایل‌هایی را ببینند که مجوزهای لازم برای دسترسی به آنها را دارند. این امر به ویژه در محیط‌های چند کاربره که کاربران نباید بتوانند فایل‌هایی را که به آنها دسترسی ندارند پیدا کنند، مفید است. slocateشامل بررسی‌های پیشرفته‌تر مجوزهای فایل هنگام ایجاد پایگاه داده و جستجوی فایل‌ها است.

مثال slocateدستور.

کنسولکپی
$ sudo updatedb.slocate
$ locate example.txt

درست مانند mlocate، updatedb.slocateدستور پایگاه داده را به‌روزرسانی می‌کند و سپس از locateدستور برای انجام جستجوی شما استفاده می‌کند. تفاوت کلیدی در نحوه فیلتر کردن نتایج بر اساس مجوزهای کاربر است که ممکن است در مقایسه با یک استاندارد، نتایج کمتری ارائه دهد locate.

نتیجه‌ گیری

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

🖼️ تصاویر

🏷️ کلمات کلیدی

جستجوی فایل در لینوکس، نحوه استفاده از دستور Locate در لینوکس، مقدمه، مزایای دستور locateبیش از حدfind، خرید جستجوی فایل در لینوکس، قیمت جستجوی فایل در لینوکس، بهترین جستجوی فایل در لینوکس

🧩 JSON-LD

{"@context":"https://schema.org","@type":"WebPage","headline":"جستجوی فایل در لینوکس","url":"https://negarnovin.com/docs/how-to-use-the-locate-command-in-linux/","datePublished":"2025-09-20T10:38:33+03:30","dateModified":"2026-09-21T11:35:34+03:30","author":{"@type":"Person","name":"نگارنوین"},"publisher":{"@type":"Organization","name":"نگارنوین"},"inLanguage":"fa-IR","description":"How to Use the Locate Command in Linux نحوه استفاده از دستور Locate در لینوکس جستجوی فایل در لینوکس براحتی آب خوردن یاد بگیرید!"}