مثال هایی از استفاده از دستور Find در لینوکس

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

از دستور find در لینوکس استفاده کنید.

دستور find برای جستجوی اشیاء مختلف، از جمله فایل های هر فرمت و دایرکتوری از عمق های مختلف طراحی شده است. کاربر فقط نیاز به وارد کردن فرمان خود، تعیین مقدار دلخواه، و اختصاص دادن استدلال برای تنظیم پارامترهای فیلتر است. انجام این روش توسط ابزار خود معمولا زمان زیادی را صرف نمی کند، بلکه بر میزان اطلاعات اسکن شده بستگی دارد. اکنون به نمونه هایی از استفاده از پیدا کردن جزئیات بیشتر نگاه کنید.

از طریق کنسول به دایرکتوری بروید

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

  1. مدیر فایل نصب شده را باز کنید و به پوشه دلخواه بروید که در آن شما می خواهید از دستور جستجو در آینده استفاده کنید.
  2. از طریق مدیر فایل لینوکس به مسیر دلخواه بروید

  3. راست کلیک بر روی هر شی و پیدا کردن "خواص" مورد.
  4. انتقال به خواص شی در سیستم عامل لینوکس

  5. پوشه اصلی خود را با مسیر کامل مشاهده خواهید کرد. برای انتقال از "ترمینال" آن را به خاطر بسپارید .
  6. از طریق خواص لینوکس پوشه والدین یک شیء را پیدا کنید

  7. اکنون کنسول را، به عنوان مثال، از طریق منو شروع کنید.
  8. راه اندازی ترمینال برای وارد کردن دستورات در لینوکس

  9. فرمان cd /home/user/folder بنویسید، جایی که کاربر نام پوشه خانگی کاربر است و پوشه نام دایرکتوری مورد نیاز است.
  10. به یک محل در ترمینال لینوکس حرکت کنید

اگر، قبل از استفاده از find ، دستورالعمل فوق را اجرا کنید، می توانید مسیر کامل را به فایل بگذارید، در صورتی که در مکان انتخاب شده باشد. چنین راه حلی، دستورات ورودی را در آینده به میزان قابل توجهی تسریع خواهد کرد.

جستجو برای فایل ها در دایرکتوری فعلی

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

با استفاده از پیدا کردن بدون استدلال در لینوکس

فعال کردن یافتن بدون استدلال و گزینه های استفاده می شود زمانی که شما نیاز به مشاهده تمام موارد در یک بار. اگر نام آنها به طور کامل به رشته ها نمی آید، ارزش فرمان را تغییر می دهد تا find . -print find . -print

جستجو برای فایل ها در دایرکتوری مشخص شده

فرمان برای نمایش فایل ها از طریق یک مسیر معین تقریبا همان چیزی است که ما در بالا ذکر کردیم. شما همچنین باید find و پس از آن اضافه کنید ./folder اگر می خواهید find ./home/user/downloads/folder مربوط به دایرکتوری را در مکان فعلی پیدا کنید، یا برای اینکه بتوانید مسیر کامل را با تایپ کردن مشخص کنید، به عنوان مثال، find ./home/user/downloads/folder ، جایی که پوشه پایان دایرکتوری هر عنصر در خطوط جداگانه به ترتیب عمق آنها نمایش داده می شود.

با استفاده از دستور find با محل فایل در لینوکس

جستجو بر اساس نام

گاهی اوقات نیاز به نمایش تنها اشیایی است که نام را برآورده می کنند. سپس کاربر نیاز به تنظیم یک گزینه جداگانه برای دستور دارد تا درخواست تجدید نظر را درک کند. خط ورودی فرم می گیرد: find . -name "word"، جایی که کلمه یک کلمه کلیدی است که باید با دوگانه نوشته و حساس به حروف برای هر شخصیت باشد.

پیدا کردن فایل ها با نام با استفاده از دستور find در لینوکس

اگر شما دقیق مورد هر حرف را نمی دانید، یا می خواهید همه نام های تطبیقی ​​را نمایش دهید بدون اینکه این پارامتر را وارد حساب کنید، find . -iname "word" در کنسول find . -iname "word" find . -iname "word" .

برای فیلتر کردن نتایج به وسیله کلمه کلیدی، یکی دیگر به آرگومان نام افزوده می شود. فرمان فرم find . -not -name "word" find . -not -name "word" ، که در آن کلمه یک کلمه است که باید حذف شود.

فعال کردن فیلتر کردن کلمات کلیدی دستور یافتن در لینوکس

گاهی اوقات نیاز به پیدا کردن اشیاء با یک کلید وجود دارد، در حالی که دیگران را نادیده می گیرید. سپس چند گزینه جستجو به نوبه خود اختصاص داده می شود و خط ورودی زیر است: find . -name "word" -not name "*.txt" find . -name "word" -not name "*.txt" . لطفا توجه داشته باشید که استدلال دوم در نقل قول ها نشان می دهد " * .txt" ، که بدان معنی است که find نه تنها با نام ها، بلکه با فرمت های فایل که در این فرم مشخص شده اند، کار می کند.

جستجوی ترکیبی به نام با دستور find در لینوکس

همچنین یک اپراتور OR وجود دارد. این اجازه می دهد تا شما یک یا چند استدلال مناسب را در یک زمان پیدا کنید. هر کدام به طور جداگانه، با اضافه کردن استدلال مربوطه مشخص شده است. نتیجه چیزی شبیه این است: find -name "word" -o -name "word1" .

با استفاده از گزینه OR در دستور یافتن لینوکس

عمق جستجو را مشخص کنید

فرمان یافتن کاربر حتی زمانی که نیاز به پیدا کردن محتویات دایرکتوری ها فقط به عمق مشخص شده را دارد، به عنوان مثال، تجزیه و تحلیل در داخل زیر پوشه سوم مورد نیاز نیست. برای تنظیم این محدودیت ها، find . -maxdepth N -name "word" find . -maxdepth N -name "word" ، جایی که N حداکثر عمق است، و نام "کلمه" هر استدلال بعدی است.

عمق اسکن را با دستور find در لینوکس مشخص کنید

جستجو چندین دایرکتوری

در بسیاری از پوشه ها چند پوشه با محتویات مختلف وجود دارد. اگر تعداد زیادی از آنها وجود داشته باشد و جستجو فقط باید در موارد خاصی انجام شود، پس شما باید هنگام ورود به find ./folder ./folder1 -type f -name "word" را مشخص کنید find ./folder ./folder1 -type f -name "word" ، جایی که ./folder ./folder1 یک فهرست دایرکتوری مناسب است، و نام "کلمه" - استدلال باقی مانده است.

هنگام استفاده از دستور find در لینوکس چندین پوشه را جستجو کنید

نمایش موارد پنهان

بدون استدلال متناظر، اشیاء پنهان در دایرکتوری اسکن شده در کنسول نمایش داده نخواهد شد. بنابراین، کاربر به صورت دستی وارد یک گزینه اضافی برای پایان دادن به دستور: find ~ -type f -name ".*" . شما لیست کاملی از تمام فایل ها را دریافت خواهید کرد، اما اگر برخی از آنها در دسترس نباشد، sudo در خط قبل از جستجوی کلمه برای فعال کردن حقوق فوق کاربر وارد کنید.

نمایش فایل های مخفی با دستور find در لینوکس

اسکن پوشه های خانگی برای گروه ها و کاربران

هر کاربر می تواند تعداد نامحدودی از دایرکتوری ها و اشیاء را در مکان های مختلف ایجاد کند. سریع ترین راه برای پیدا کردن اطلاعاتی که متعلق به یکی از کاربران است، با استفاده از دستور find و یکی از استدلال های آن. در لیست ترمینال find . -user username find . -user username ، که نام کاربری نام کاربری است. پس از ورود به اسکن، به طور خودکار شروع خواهد شد.

نمایش فایل های متعلق به یک دستور find در لینوکس

تقریبا همان طرح با گروه های کاربری کار می کند. تجزیه و تحلیل فایل های مرتبط با یکی از گروه ها از طریق find /var/www -group groupname است. فراموش نکنید که تعداد زیادی از اشیا وجود دارد و گاهی اوقات طول می کشد تا همه آنها را صادر کنیم.

نمایش فایل ها متعلق به یک گروه خاص با استفاده از دستور find در لینوکس

فیلتر با تاریخ تغییر

سیستم عامل به طور خودکار تاریخ تغییر هر یک از فایل های موجود را ذخیره می کند. دستور find به شما اجازه می دهد همه ی آنها را با پارامتر مشخص شده پیدا کنید. شما فقط باید sudo find / -mtime N را ثبت sudo find / -mtime N ، جایی که N تعداد روزهای قبل است که آخرین شیء تغییر کرد. پیشوند sudo در اینجا مورد نیاز است برای دریافت اطلاعات در مورد فایلهایی که فقط برای کاربر فوق استفاده شده است.

با تاریخ تغییر با دستور find در لینوکس فیلتر کنید

اگر شما علاقه مند به دیدن آیتم هایی که اخیرا تعداد مشخصی از روزها را باز کردید، سپس خط ظاهر کمی را به sudo find / -atime N

با تاریخ باز کردن با دستور find در لینوکس فیلتر کنید

فیلتر بر اساس اندازه فایل

هر شی به اندازه خودش است، به ترتیب، دستور جستجو برای فایل ها باید یک تابع باشد که به شما اجازه می دهد آنها را با این پارامتر فیلتر کنید. پیدا کردن قادر به انجام این کار است، کاربر فقط نیاز به اندازه توسط استدلال را تنظیم کنید. نگران نباشید، find / -size N وارد find / -size N ، جایی که N حجم در بایت، مگابایت (M) یا گیگابایت (G) است.

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

شما می توانید طیف وسیعی از موارد مورد نظر را مشخص کنید. سپس کلاسیک ها به فرمان می آیند و به عنوان مثال، خط زیر را find / -size +500M -size -1000M : find / -size +500M -size -1000M . این تجزیه و تحلیل فایل های بیش از 500 مگابایت را نمایش می دهد، اما کمتر از 1000.

طیف وسیعی از اندازه فایل را برای پیدا کردن در لینوکس پیدا کنید

جستجو برای فایل ها و دایرکتوری های خالی

برخی از فایل ها یا پوشه ها خالی هستند. آنها فقط فضای دیسک اضافی را می گیرند و گاهی اوقات با تعامل طبیعی با کامپیوتر مواجه می شوند. آنها باید به منظور تصمیم گیری در مورد اقدامات بعدی find /folder -type f -empty و find /folder -type f -empty با این کار کمک خواهد کرد، where / folder جایی است که اسکن انجام می شود.

نمایش اشیای خالی با استفاده از find در لینوکس

به طور جداگانه، من می خواهم به طور مختصر سایر استدلال های مفید اشاره کنم که از زمان به زمان برای کاربر مفید می شود:

  • -mount - محدودیت فقط به سیستم فایل جاری
  • -type f - فقط نمایش فایل ها
  • -type d - فقط فهرست ها را نمایش می دهد؛
  • -nogroup ، -nouser - جستجو برای فایل هایی که به هیچ گروه تعلق ندارند و به کاربر تعلق ندارند
  • -version - نسخه ی ابزار مورد استفاده را پیدا کنید.

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

جزئیات بیشتر: دستورات اغلب مورد استفاده در ترمینال لینوکس

پس از جستجو برای اطلاعات مورد نیاز، می توانید هر گونه اقدام دیگر را با آنها انجام دهید، مثلا ویرایش، حذف یا مطالعه محتوای. این دیگر از «ترمینال» ساخته شده است . مثال هایی از استفاده آنها در زیر آمده است.

همچنین نگاه کنید به: نمونه هایی از دستورات گرپ / گربه / لس در لینوکس