از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش استفاده از دستور Linux Locate برای یافتن هر فایل
سرفصلهای مطلب
اگر برای اولین بار از لینوکس استفاده می کنید، ممکن است در مورد روش جستجوی فایل ها و دایرکتوری ها سردرگم شوید روی کامپیوتر شما. دو دستور لینوکس برای انجام این کار وجود دارد که عبارتند از پیدا کردن و قرار دادن.
اگرچه هر دو دستور عملکرد یکسانی دارند، اما به طور متفاوتی کار می کنند. را پیدا کردن دستور فایل های مشخص شده را در همه دایرکتوری های کامپیوتر شما جستجو می کند. در همین حال، دستور مکان یابی فقط به دنبال فایل ها خواهد بود روی پایگاه داده لینوکس شما
در این مقاله روش استفاده از لینوکس توضیح داده خواهد شد پیدا کردن و قرار دادن دستورات و چرایی استفاده از آنها
دستورات Find and Locate در لینوکس چیست؟
را پیدا کردن دستور در لینوکس یک ابزار همه کاره برای جستجوی فایل ها و دایرکتوری ها است روی معیارهای مختلف، مانند نام، نوع، و اندازه، با نتایج تولید شده در زمان واقعی. را قرار دادن فرمان، روی از سوی دیگر، یک گزینه سریعتر است که متکی است روی یک پایگاه داده از پیش ساخته شده برای جستجوی سریع فایل ها، اما ممکن است به روز رسانی های بلادرنگ را ارائه ندهد.
نکته مهمی که باید به آن توجه کنید این است که ما در این راهنما از Ubuntu VPS استفاده خواهیم کرد. همانطور که گفته شد، مراحل باید برای Debian نیز کار کنند، CentOS، یا هر توزیع دیگری از لینوکس. اگر نمیدانید چگونه به VPS متصل شوید، میتوانید قبل از ادامه دادن این راهنما را دنبال کنید.
دستور دستور را پیدا کنید
محبوب ترین دستور برای یافتن و فیلتر کردن فایل ها روی لینوکس است پیدا کردن. نحو اصلی به شرح زیر است:
find <startingdirectory> <options> <search term>
با کلمه کلیدی شروع می شود پیدا کردن، که به لینوکس هشدار می دهد که هر آنچه که در ادامه آمده است برای یافتن فایل شما استفاده می شود. را
- / (اسلش) – کل سیستم را جستجو کنید.
- . (نقطه) – از پوشه ای که در حال حاضر کار می کنید جستجو کنید روی (پوشه کنونی).
- ~ (تایلد) – برای جستجو از پوشه اصلی خود.
استدلال دوم <گزینه ها> به فایل شما اختصاص داده شده است. این می تواند نام فایل، نوع، تاریخ ایجاد و غیره باشد. آرگومان سوم < عبارت جستجو > جایی است که عبارت جستجوی مربوطه را مشخص خواهید کرد.
نمونه های فرمان را پیدا کنید
بیایید نگاهی به گزینه های مختلفی بیندازیم که لینوکس در اختیار کاربران خود قرار می دهد:
استفاده از Find to Search by Name
البته رایج ترین روش برای جستجوی فایل استفاده از نام آن است. برای اجرای یک جستجوی ساده با استفاده از نام فایل، از پیدا کردن دستور به این صورت:
find . -name my-file
ما استفاده کردیم -نام گزینه، و فایلی به نام را جستجو کرد فایل من. توجه داشته باشید که ما جستجو را در فهرست فعلی خود با استفاده از عبارت شروع کردیم . (نقطه) بحث و جدل.
به خاطر داشته باشید که -نام آرگومان به دنبال عبارات حساس به حروف بزرگ و کوچک در لینوکس است. اگر نام فایل را می دانید، اما در مورد حساسیت به حروف کوچک و بزرگ آن مطمئن نیستید، از موارد زیر استفاده کنید پیدا کردن دستور:
find . -iname my-file
همچنین می توانید همه فایل ها را بدون کلمه کلیدی خاصی در نام آنها جستجو کنید. دو راه برای انجام این کار وجود دارد. روش اول شامل استفاده از -نه کلمه کلیدی به روش زیر:
find . -not -name my-file
دوم، می توانیم از علامت تعجب استفاده کنیم (!). با این حال، قبل از آن باید شناسه فرار (\) باشد تا لینوکس بداند که این بخشی از پیدا کردن فرمان
find . \! -name my-file
می توانید چندین فایل را با یک فرمت رایج مانند txt همچنین:
find . -name “*.txt”
با این کار تمام فایلهای متنی که با پوشه فعلی شروع میشوند فهرست میشوند.
در نهایت، اگر می خواهید فایل خاصی را با نام پیدا کنید و آن را حذف کنید، از آن استفاده کنید -حذف آرگومان بعد از نام فایل:
find . -name my-file -delete
استفاده از Find to Search by Type
لینوکس به کاربران این امکان را می دهد که تمام اطلاعات را فهرست کنند روی انواع آنها چندین فیلتر وجود دارد که می توانید از آنها استفاده کنید:
- د – دایرکتوری یا پوشه
- f – فایل معمولی
- ل – پیوند نمادین
- ج – دستگاه های شخصیت
- ب – دستگاه ها را مسدود کنید
یک مثال ساده از استفاده از نوع فایل را می توان در زیر مشاهده کرد:
find / -type d
از آنجایی که ما از دایرکتوری ریشه خود با نماد / (اسلش) جستجو کردیم، این فهرست همه دایرکتوری های فعلی در سیستم شما را نشان می دهد.
شما همچنین می توانید ترکیب –نوع و -نام گزینه هایی برای محدود کردن بیشتر جستجوهای خود:
find / -type f -name my-file
این به دنبال فایل های نامگذاری شده می گردد فایل من، به استثنای دایرکتوری ها یا پیوندها.
استفاده از Find to Search by Time
اگر می خواهید بر اساس فایل ها جستجو کنید روی زمانی که به آنها دسترسی پیدا شد و ردپای زمانی اصلاح شد. لینوکس فایل ها را با استفاده از این سه مهر زمانی ردیابی می کند.
- زمان دسترسی (-زمان) – زمانی که فایل خوانده شد یا در آن نوشته شد.
- زمان اصلاح (-mtime) – زمانی که فایل اصلاح شد.
- تغییر زمان (-ctime) – زمانی که متا داده فایل به روز شد.
این گزینه باید با شماره ای استفاده شود که مشخص می کند چند روز از دسترسی، اصلاح یا تغییر فایل گذشته است:
find / -atime 1
این دستور همه فایلهایی را که یک روز پیش از زمان کنونی شما به آنها دسترسی پیدا کردهاند نشان میدهد.
ما میتوانیم با اضافه کردن درخواستهای خود را حتی بیشتر محدود کنیم به علاوه (+) و منهای (–) علائم قبل از تعداد روز. برای مثال:
find / -mtime +2
تمام فایل هایی را که بیش از دو روز پیش زمان اصلاح دارند فهرست می کند.
برای یافتن تمام فایل هایی که متا دیتا آنها کمتر از یک روز پیش به روز شده است، موارد زیر را اجرا کنید:
find / -ctime -1
در حالی که اغلب استفاده نمی شود، برخی از استدلال های اضافی نیز وجود دارد که به جستجوهای زمان بندی شده نیز مربوط می شوند. را -Mmin آرگومان به دنبال فایل های اصلاح شده می گردد روی بر اساس دقیقه می توان از آن به این صورت استفاده کرد:
find / -mmin -1
همچنین، ما داریم -جدیدتر آرگومان که می تواند برای مقایسه سن دو یا چند فایل و نمایش فایل جدیدتر استفاده شود.
find / -newer my-file
آنچه دریافت خواهید کرد، همه فایل هایی هستند که اخیراً نسبت به فایل شما تغییر یافته اند.
استفاده از Find to Search by Size
لینوکس به شما امکان می دهد فایل های مبتنی بر جستجو را انجام دهید روی اندازه های آنها سینتکس جستجوی فایل ها بر اساس اندازه به صورت زیر است:
find <startingdirectory> -size <size-magnitude> <size-unit>
شما می توانید واحدهای اندازه زیر را مشخص کنید:
- ج – بایت ها
- ک – کیلوبایت
- م – مگابایت
- جی – گیگابایت
- ب – تکه های 512 بایتی
یک مثال ساده از روش استفاده از پیدا کردن دستور اندازه فایل به صورت زیر است:
find / -size 10M
در اینجا ما تمام فایل های موجود در سیستم شما را که دقیقا 10 مگابایت هستند جستجو می کنیم. درست مانند زمانی که جستجو بر اساس روی زمان، می توانید جستجوهای خود را بیشتر با استفاده از علائم مثبت و منفی فیلتر کنید:
find / -size +5G
تمام فایل هایی که بیش از پنج گیگابایت حجم دارند را نمایش می دهد.
استفاده از Find to Search by Ownership
لینوکس به شما این امکان را می دهد که جستجوهای خود را بر اساس محدود کنید روی مالکیت فایل برای یافتن فایل های یک مالک خاص، دستور زیر باید اجرا شود:
find / -user john
اسکریپت لیستی از تمام فایل هایی را که کاربر نامگذاری کرده است، برمی گرداند جان دارد. مشابه نامهای کاربری، میتوانیم فایلها را از طریق نام گروه نیز پیدا کنیم:
find / -group classroom
استفاده از Find to Search by Permissions
کاربران می توانند بر اساس فایل ها جستجو کنند روی مجوزهای فایل با استفاده از -پرم گزینه. مثلا:
find / -perm 644
در لینوکس، 644 مربوط به مجوز خواندن و نوشتن است. به این معنی که این دستور تمام فایل هایی را که فقط مجوز خواندن و نوشتن دارند جستجو می کند. می توانید با این گزینه بیشتر بازی کنید:
find / -perm -644
با اضافه شدن یک علامت خط تیره، با تمام فایل هایی که حداقل مجوز 644 دارند، باز خواهد گشت.
در صورت تمایل به ادامه مطلب روی مجوزها و کدهای مختلف مربوط به سایر مجوزهای لینوکس.
سایر گزینه های مفید یافتن فرمان
گزینه های مفید دیگری نیز وجود دارد که باید به خاطر بسپارید.
به عنوان مثال، برای جستجوی فایل ها و پوشه های خالی روی سیستم خود را از موارد زیر استفاده کنید:
find / -empty
به طور مشابه، برای جستجوی تمام فایل های اجرایی ذخیره شده روی درایو خود را، استفاده کنید -اجرایی گزینه:
find / -exec
برای جستجوی فایل های قابل خواندن، می توانید دستور زیر را اجرا کنید:
find / -read
همانطور که می بینید، گزینه های زیادی برای کاربران وجود دارد که می توانند درخواست های خود را مطابق میل خود تنظیم کنند. اجازه دهید به دستور دیگری که می تواند برای مکان یابی فایل ها در لینوکس استفاده شود نگاه کنیم.
دستور دستور را پیدا کنید
را قرار دادن دستور جایگزین مفیدی است، زیرا سریعتر از دستور است پیدا کردن فرمان هنگام انجام جستجو دلیلش این است که اولی فقط پایگاه داده لینوکس شما را به جای کل سیستم اسکن می کند. علاوه بر این، نحو برای نوشتن نسبتا ساده تر است.
اکنون می توانید از دستور برای جستجوی فایل ها با استفاده از این نحو استفاده کنید:
locate [my-file]
وانیل قرار دادن اگر پایگاه داده به روز نشده باشد، گاهی اوقات فرمان می تواند فایل هایی را که حذف شده اند برگرداند. بهترین راه حل این است که به صورت دستی پایگاه داده را با اجرای موارد زیر به روز کنید:
sudo updatedb
روش نصب بسته Locate
بهطور پیشفرض، لینوکس همراه با آن نیست قرار دادن دستور از پیش نصب شده برای دریافت بسته، دستورات زیر را یکی پس از دیگری اجرا کنید:
sudo apt-get update sudo apt-get install mlocate
نمونه های فرمان را پیدا کنید
ما رایج ترین برنامه های کاربردی لینوکس را با شما به اشتراک خواهیم گذاشت قرار دادن فرمان
استفاده از Locate برای جستجوی نام دقیق فایل
نحو اصلی فقط به شما امکان می دهد فایل هایی را جستجو کنید که حاوی عبارت جستجو هستند. اگر می خواهید فایل را با نام دقیق دریافت کنید، می توانید از آن استفاده کنید -r گزینه و اضافه کردن نماد دلار ($) در پایان عبارت جستجوی خود، به عنوان مثال:
locate -r my-file$
از Locate برای شمارش تعداد فایل ها استفاده کنید
برای اینکه بگوییم چند فایل ظاهر می شوند روی نتیجه جستجوی خود را درج کنید -ج بعد از دستور locate
locate -c my-file
به جای لیست کردن همه فایل ها، تعداد کل آنها را به شما می دهد.
استفاده از Locate برای نادیده گرفتن Case Sensitive
استفاده کنید -من روی لینوکس شما قرار دادن دستور نادیده گرفتن فایل های حساس به حروف بزرگ و کوچک. برای مثال:
locate -i my-file
همه فایلهای با این نام، صرف نظر از هر علامت بزرگ یا کوچکی که پیدا شده باشد، نشان داده میشوند.
استفاده از Locate برای نمایش فایل های موجود
همانطور که ذکر کردیم، لینوکس قرار دادن اگر پایگاه داده را به روز نکرده باشید، دستور حتی می تواند یک فایل حذف شده را به شما نشان دهد. خوشبختانه با استفاده از این روش می توانید این مشکل را برطرف کنید -e گزینه، مانند این:
locate -e my-file
با انجام این کار، شما فقط فایل هایی را دریافت خواهید کرد که در زمان انجام آن وجود دارند قرار دادن فرمان
استفاده از Locate برای غیرفعال کردن خطاها هنگام جستجو
-q این گزینه از نمایش هرگونه خطا در هنگام پردازش جستجو جلوگیری می کند. برای انجام این کار، به سادگی وارد کنید:
locate -q my-file
از Locate برای محدود کردن تعداد نتایج جستجو استفاده کنید
اگر می خواهید تعداد نتایج جستجو را محدود کنید، -n <تعداد> این ترفند را انجام خواهد داد. با این حال، به یاد داشته باشید که باید گزینه را در انتهای خط فرمان قرار دهید. به این مثال توجه کنید:
locate my-file n 10
این اسکریپت فقط 10 فایل اولی را که کشف می کند نمایش می دهد، حتی زمانی که تعداد بیشتری از آنها وجود داشته باشد.
نتیجه
می توانید فایل ها را جستجو کنید روی سرور شما با استفاده از پیدا کردن و قرار دادن دستورات در لینوکس این دو ابزار قدرتمند مزایای خاص خود را دارند. بنابراین، ما شما را تشویق می کنیم که هر دوی آنها را امتحان کنید و ببینید کدام یک برای شما مناسب تر است. در اینجا خلاصه ای کوتاه از آنچه در مورد آن صحبت کردیم آمده است:
- استفاده کنید پیدا کردن برای جستجوی فایل های مبتنی بر روی نام، نوع، زمان، اندازه، مالکیت و مجوزها، علاوه بر برخی گزینه های مفید دیگر
- لینوکس را نصب و استفاده کنید قرار دادن دستور برای انجام سریعتر جستجوی فایلها در سراسر سیستم. همچنین به شما اجازه می دهد تا بر اساس نام، حساس به حروف کوچک، پوشه و غیره فیلتر کنید روی.
اگر سوالی دارید، در نظرات بپرسید!
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-29 20:10:04