لینوکس

۳۱ دستور کاربردی جهت جستجو در لینوکس

31 مثال کاربردی از دستورات جستجوی لینوکس

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

برای مثال ، می توانید دستور جستجوی فایل ها بر اساس سطح دسترسی آن ها، کاربر، گروه، نوع فایل، تاریخ ایجاد، حجم و سایر معیار های جستجو را اجرا کنید و فایل های مورد نظر خود را به راحتی بیابید.

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

  • بخش اول : دستورات پایه برای یافتن فایل ها بر اساس نام
  • بخش دوم : یافتن فایل ها بر اساس سطح دسترسی
  • بخش سوم : جستجوی فایل ها بر اساس کاربر یا گروه
  • بخش چهارم : جستجوی فایل ها و پوشه ها بر اساس تاریخ و زمان
  • بخش پنجم : جستجوی فایل ها و پوشه ها بر اساس حجم

بخش اول « دستورات پایه برای جستجوی فایل ها بر اساس نام »

  1. جستجوی فایل ها بر اساس نامشان در مسیر فعلی

با استفاده از دستور ذیل می توانید تمامی فایل های با نام tecmint.txt را در مسیر جاری بیابید.

# find . -name tecmint.txt
./tecmint.txt
  1. جستجوی فایل های موجود در مسیر Home

با استفاده از دستور ذیل می توانید تمامی فایل های موجود در مسیر /home و با نام tecmint.txt را بیابید.

# find /home -name tecmint.txt
/home/tecmint.txt
  1. جستجوی فایل ها بر اساس نام و بدون در نظر گرفتن کوچک و بزرگ بودن حروف

با استفاده از دستور ذیل می توانید تمامی فایل های با نام tecmint.txt و شامل حروف کوچک و بزرگ در مسیر /home را بیابید.

# find /home -iname tecmint.txt
./tecmint.txt
./Tecmint.txt
  1. جستجوی پوشه ها بر اساس نام

با استفاده از دستور ذیل می توانید تمامی پوشه های با نام Tecmint و در مسیر / باشد را بیابید.

(دایرکتوری / همان مسیر ریشه «root» می باشد )

# find / -type d -name mizbanfa
/mizbanfa
  1. جستجوی فایل های PHP بر اساس نام

با استفاده از دستور ذیل می توانید تمامی فایل های PHP با نام tecmint.php را در مسیر جاری بیابید.

# find . -type f -name tecmint.php
./tecmint.php

جستجوی تمامی فایل های PHP در یک مسیر

با استفاده از دستور ذیل می توانید تمامی فایل های PHP در یک مسیر را بیابید.

# find . -type f -name "*.php"
./tecmint.php
./login.php
./index.php

بخش دوم « جستجوی فایل ها بر اساس سطح دسترسی »

  1. جستجوی فایل های با مجوز دسترسی 777

با استفاده از دستور ذیل می توانید تمامی فایل هایی که مجوز سطح دسترسی آن ها 777 می باشد را بیابید.

# find . -type f -perm 0777 -print
  1. جستجوی فایل های بدون مجوز دسترسی777

با استفاده از دستور ذیل می توانید تمامی فایل هایی که مجوز سطح دسترسی آن ها 777 نمی باشد را بیابید.

# find / -type f ! -perm 777
  1. جستجوی فایل های دارای ویژگی فقط خواندنی (Read Only)

با استفاده از دستور ذیل می توانید تمامی فایل های دارای ویژگی فقط خواندنی را بیابید.

# find / -perm /u=r
  1. جستجوی فایل های اجرایی (Executable)

با استفاده از دستور ذیل می توانید تمامی فایل های اجرایی را بیایید.

# find / -perm /a=x
  1. جستجوی فایل های دارای مجوز دسترسی 777 و استفاده از Chmod برای تغییر به 644

با استفاده از دستور ذیل می توانید تمامی فایل های دارای مجوز سطح دسترسی 777 را بیابید و با استفاده از دستور Chmod سطح دسترسی آن ها را به 644 تغییر دهید.

Chmod جهت تغییر سطح دسترسی فایل ها می باشد.

# find / -type f -perm 0777 -print -exec chmod 644 {} \;
  1. جستجوی پوشه ها ی با مجوز دسترسی 777 و استفاده از Chmod برای تغییر به 755

با استفاده از دستور ذیل می توانید تمامی پوشه های دارای مجوز سطح دسترسی 777 را بیابید و با استفاده از دستورات Chmod سطح دسترسی آن ها را به 755 تغییر دهید.

# find / -type d -perm 777 -print -exec chmod 755 {} \;
  1. جستجو و حذف یک فایل

با استفاده از دستور ذیل می توانید یک فایل با نام tecmint.txt را یافته و حذف نمایید.

# find . -type f -name "tecmint.txt" -exec rm -f {} \;
  1. جستجو و حذف چندین فایل

با استفاده از دستور ذیل می توانید چندین فایل مانند .mp3  یا .txt را یافته و حذف نمایید.

# find . -type f -name "*.txt" -exec rm -f {} \;
OR
# find . -type f -name "*.mp3" -exec rm -f {} \;
  1. جستجو و حذف فایل های خالی (Empty)

با استفاده از دستور ذیل می توانید تمامی فایل های بدون محتوا در یک مسیر مشخص را یافته و حذف نمایید.

# find /tmp -type f -empty
  1. جستجو و حذف پوشه های خالی

با استفاده از دستور ذیل می توانید تمامی پوشه های بدون محتوا در یک مسیر مشخص را یافته و حذف نمایید.

# find /tmp -type d -empty
  1. جستجوی تمامی فایل های مخفی

با استفاده از دستور ذیل می توانید تمامی فایل های مخفی (Hidden) را بیابید.

# find /tmp -type f -name ".*"

بخش سوم « جستجوی فایل ها بر اساس کاربر یا گروه »

  1. جستجوی یک فایل بر اساس کاربر آن

با استفاده از دستور ذیل می توانید تمامی فایل ها یا یک فایل با نام tecmint.txt  در مسیر / root از کاربر (Owner) root را بیابید.

# find / -user root -name tecmint.txt
  1. جستجوی تمامی فایل ها بر اساس کاربر آن ها

با استفاده از دستور ذیل می توانید تمامی فایل های متعلق به کاربر Tecmint  و در مسیر /home را بیابید.

# find /home -user tecmint
  1. جستجوی تمامی فایل ها بر اساس گروه آن ها

با استفاده از دستور ذیل می توانید تمامی فایل های متعلق به گروه کاربری Developer  و در مسیر /home را بیابید.

# find /home -group developer
  1. جستجوی فایل های خاص از یک کاربر

با استفاده از دستور ذیل می توانید تمامی فایل های با پسوند .txt و متعلق به کاربر Tecmint  و در مسیر /home را بیابید.

# find /home -user tecmint -iname "*.txt"

بخش چهارم « جستجوی فایل ها و پوشه ها بر اساس تاریخ و زمان »

  1. جستجوی فایل هایی که طی 50 روز گذشته ویرایش شده اند

با استفاده از دستور ذیل می توانید تمامی فایل هایی که طی 50 روز گذشته ویرایش ( Modify) شده اند را بیابید.

# find / -mtime 50
  1. جستجوی فایل هایی که طی 50 روز گذشته به ان ها دسترسی داشته اید

با استفاده از دستور ذیل می توانید تمامی فایل هایی که طی 50 روز گذشته به آن ها دسترسی داشته اید را بیابید.

# find / -atime 50
  1. جستجوی فایل هایی که طی 50 تا 100 روز گذشته ویرایش شده اند

با استفاده از دستور ذیل می توانید تمامی فایل هایی که در بازه زمانی بیشتر از 50 روز و کمتر از 100 روز گذشته ویرایش (Modify) شده اند را بیابید.

# find / -mtime +50 –mtime -100
  1. جستجوی فایل های تغییر داده شده در 1 ساعت گذشته

با استفاده از دستور ذیل می توانید تمامی فایل هایی که در بازه زمانی 1 ساعت گذشته ، در آن ها تغییری ایجاد شده است را بیابید.

# find / -cmin -60
  1. جستجوی فایل های ویرایش شده در 1 ساعت گذشته

با استفاده از دستور ذیل می توانید تمامی فایل هایی که در بازه زمانی 1 ساعت گذشته، Modify (ویرایش) شده اند را بیابید.

# find / -mmin -60
  1. جستجوی فایل هایی که طی 1 ساعت گذشته به آن ها دسترسی داشته اید

با استفاده از دستور ذیل می توانید تمامی فایل هایی که در بازه زمانی 1 ساعت گذشته ، به آن ها دسترسی داشته اید را بیابید.

# find / -amin -60

بخش پنجم « جستجوی فایل ها و پوشه ها بر اساس حجم »

  1. جستجوی فایل های با حجم 50 مگابایت

با استفاده از دستور ذیل می توانید تمامی فایل های دارای حجم 50 مگابایت را بیابید.

# find / -size 50M
  1. جستجوی فایل های با حجم بین 50 تا 100 مگابایت

با استفاده از دستور ذیل می توانید تمامی فایل های دارای حجمی بیشتر از 50 مگابایت و کمتر از 100 مگابایت را بیابید.

# find / -size +50M -size -100M
  1. جستجو و حذف فایل های با حجم 100 مگابایت

با استفاده از دستور ذیل می توانید تمامی فایل های دارای حجم 100 مگابایت را یافته و حذف نمایید.

# find / -size +100M -exec rm -rf {} \;
  1. جستجوی فایل های بخصوص و حذف آن ها

با استفاده از دستور ذیل می توانید تمامی فایل های دارای پسوند .mp3 و با حجمی بیشتر از 10 مگابایت را یافته و حذف نمایید.

# find / -type f -name *.mp3 -size +10M -exec rm {} \;
4.5/5 - (13 امتیاز)

علی یزدان پرست

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *