برای یافتن فایلها در سیستمعامل لینوکس شما نیازمند ابزاری میباشید که راه و مسیرهایی که توسط شما ثبت میشود را بخواند و به آن عمل کند درواقع بتواند بر اساس ویژگیهایی که شما درون یک مسیر وارد نمودید فایل خواستهشده شما را یافته و برای شما به نمایش بگذارد. در این مقاله قصد داریم که به صورت کامل آموزش جستجو یک فایل در لینوکس یا نحوه کار با دستور find در لینوکس را به شما عزیزان توضیح دهیم.
اگر قصد خرید هاست لینوکس را دارید می توانید به صفحه هاست لینوکس استاندارد سایت روناک هاست مرجعه کنید.
دستور find در لینوکس برای جستجو فایل در لینوکس
در رابطه با جستجوی فایلها در لینوکس با دستور Find میتوانیم به این صورت به شما شرح دهیم که شاید شما یا هر کاربر دیگه ای قصد پیدا کردن فایلهایی خاص را داشته باشید برای این کار هم باید شرایط خاص آن فایل را در مسیر find درج نمایید تا که بهسرعت فایل خواستهشده شما توسط این ابزار قوی برای شما نمایان شود.
چند نمونه در زیر برای شما مثال زدیم تا راحتتر متوجه چگونگی کارکرد این روند بشوید.
- تمام فایلها در راه home
از نمونه جستجوی فایلها در لینوکس با دستور Find نمایش لیست کامل پَروَنجاهایتان میباشد که برای عمل به این فرایند به آدرس home تنها باید دستور زیر را وارد نمایید.
find ~
- نمایش تعداد فایلها
اگر هم نیاز دارید تا از تعداد فایلهای موجود در سیستمعامل لینوکس باخبر شوید باید مانند پایین دستور ورودی wc تنها با یک پیپ خروجی وارد شود.
find ~ | wc -1
output:#
206015
جستجو فایل در لینوکس با یافتن فایلهای محدود
اگر بخواهم به مهمترین مورد جستوجوی فایلها در لینوکس با دستور Find اشارهکنم باید خدمتتان عرض کنم شما و یا کاربر لینوکس با استفاده از تنها یک یا چند ویژگی فایل مدنظر خود را پیدا کنید برای مثال اگر شما فقط میخواهید فایلهای directories را بیابید. (البته در مسیر home) باید دستور زیر را با واردکردن حرف d جلوی عبارت -type اجرا نمایید تا که فقط فایلهای directories به شما نشان داده شود و فایلهای اضافی دیگر ناپدید شوند.
دستور فایلهای directory به شرح زیر میباشد:
find ~-type d
همچنین میتوانید با تغییر حرف انگلیسی دستور بالا جلوی عبارت type برای مثال اگر بهجای حرف d حرف f را جایگذاری شود برای شما همه فایلهای ساده در این ابزار به نمایش گذاشته میشود. ابزار find فایلهای بیشتری را با ویژگیهای مربوط به خودشان درون خود جایداده که شما در بخش man page ابزار find و با ورود در type این بخش آنها را خواهید یافت.
- دستور فایلهای معمولی:
find ~-type f
جستجو فایل در لینوکس با نمایش فایلها با استفاده از حجم آنها
از دیگر موارد پرکاربرد جستجوی فایلها در لینوکس با دستور Find این ابزار فوقالعاده امکان جستوجوی فایل توسط حجم واردشده را نیز فراهم نموده. اگر شما در دستور، حجم خواستهشدهتان را وارد نمایید تمام فایلها دقیقاً با همان حجم به شما نشان داده میشود. برای نمونه اگر مانند عبارت زیر در انتهای دستور مثبت 1 مگابایت را درج کنید فایلهایی با حجم بیشتر از یک مگابایت را دریافت خواهید کرد و اگر دقیقاً عکس این مورد را وارد کنید یعنی بهجای علامت مثبت علامت منفی را در پشت عبارت یک مگابایت قرار بدهید تمام فایلها با حجم کم یعنی کمتر از یک مگابایت برای شما آشکار میشود.
ناگفته نماند اگر هم علامتی در کنار حجم موردنظر قرار نگیرد فایلها به شکلی دقیق به همان اندازه ذکرشده در دستور یافت میشود.
دستور نمایش فایل JPG با حجم بیشتر از یک مگابایت:
find ~-type f -name “*.JPG” -size +1M
نکته: همانطور که در دستور بالا مشاهده کردید از نوع و ویژگی فایل هم برای پیدا کردن آن استفاده کردیم بری نمونه در دستور بالا ما در ابزار find فایلهایی را درخواست کردیم که JPG باشند و حداقل حجم آنها یک مگابایت باشد پس در این صورت این ابزار به ما آن دسته از فایلهایی را آشکار میکند که یک JPG باشند و دو حجم آنها بیشتر از یک مگابایت و یا حداقل یک مگابایت باشد.
دستور حذف فایلها
این موردی از جستجوی فایلها در لینوکس با دستور Find که الآن میخواهیم آن را به شما آموزش دهیم در بسیاری از مواقع به کارتان خواهد آمد، بسیاری از کاربران بیشک به این دستور برای حذف فایلهایی در ابزار find نیاز پیدا خواهند کرد. برای حذف و نابودی فایل به این ابزار تنها کاری که باید آن را انجام دهید وارد نمودن عبارت -delete در انتهای دستورتان میباشد.
در شکل زیر حذف فایلهای JPG را داریم:
find ~-type f -name “*.JPG” -delete
اجرای دستورات مشابه در دستور find در لینوکس
زمانی که شما چیزی در جلوی عبارت find وارد نکنید این ابزار طبق اطلاعات از پیش تعیینشده print را در ادامه دستور اجرا میکند. درواقع وارد نکردن اطلاعات توسط کاربر مشابه با اجرای فرایند print در ابزار find میباشد.
اگر دستور زیر را اجرا نمایید:
find ~
همانند دستور پایین عمل میکند:
find ~-print
جستجو فایل در لینوکس با نمایش تمام مشخصات فایل
برای یافتن تمام مشخصات فایلهای موردنظر خود میتوانید از جستجوی فایلها در لینوکس با دستور Find بهره ببرید ازاینرو از دستور سؤالی زیر استفاده نمایید. تا که تمام مشخصات فایل خواستهشدهمان ارائه شود. این روش بسیار ساده میتواند شما را از گمراهی بیرون بکشد زیرا که هر چه درباره فایل خاصی نیاز دارید را بهراحتی به شما نمایش میدهد.
با دستور زیرا شما در رابطه با فایلهایی با پسوند foo سؤال میشود که آیا منظورتان نمایان شدن مشخصات فایلهای foo میباشد؟
دستور سؤال فایلها:
find ~-type f -name “foo” -ok Is -1 {} \;
عبارتهایی که درنتیجه سؤال بالا نمایان میشود:
Is…/home/me/bin/foo ›? y›
-rwxr-xr-x 1 me me 224 2007-10-29 18:44 /home/me/bin/foo
Is… /home/me/foo.txt ›? y ›
-rw-r- -r- – 1 me me 0 2008-09-19 12:53 home/me/foo/.txt
با توجه به دستورات بالا دریافتیم که با جستوجوی سؤالی از یک فایل خاص تمام ویژگیها و مشخصات ثبتشده آن به شکل کامل برای ما نمایش داده میشود و دیگر جای شبه ای نمیماند.
نتیجهگیری
بنابراین اگر شما فردی هستید که از سیستمعامل لینوکس استفاده میکنید لازم است اطلاعاتی را در رابطه با دستورات یافت فایلها بدانید البته تنها ابزار پرکاربرد فایلها در لینوکس ابزار بینقص find میباشد. امیدوارم توانسته باشیم به شما در زمینه جستوجوی فایل در لینوکس با دستورات find کمک کرده باشیم.