۳۵ نمونه عملی از دستورات یافتن (FIND) در لینوکس پرینت


دستور جستجو (Find) یکی از مهمترین و پر استفاده ترین دستورات در سیستم لینوکس میباشد. یکی از قابلیت های کلیدی Find یافتن فایل ها و پوشه ها تحت شرایطی که شما تعیین میکنید (فیلتر جستجو) میباشد.
انعطاف پذیری Find بقدریست که میتواند در شرایط متفاوت مانند جستجو بر اساس دسترسی(permissions) ٬ کاربر (users)٬ گروه (groups)٬ نوع فایل (file type) ٬ تاریخ ٬ اندازه و سایر شاخص ها برایتان جستجو را انجام دهد.

طی این مقاله ٬ انواع روش های جستجو در لینوکس و موارد مصرف آنها در ۳۵ متد پر کاربرد و رایج را برایتان تشریح خواهیم کرد. این آموزش به ۵ قسمت از basic تا پیشرفته تقسیم بندی شده است.
بخش اول: دستورات پایه Find برای جستجوی فایل ها بر اساس نام
بخش دوم: جستجوی فایل ها بر اساس دسترسی آنها (Permissions)
بخش سوم: جستجوی فایل بر اساس owner و گروه
بخش چهارم: جستجوی فایل ها و پوشه ها بر اساس تاریخ و زمان
بخش پنجم: جستجوی فایل ها و پوشه ها بر اساس اندازه(Size)
بخش اول: دستورات پایه Find برای جستجوی فایل ها بر اساس نام

۱- جستجوی فایل بر اساس نام در مسیری که قرار دارید
جستجوی تمامی فایل هایی که نام آنها tecmint.txt میباشد در همان پوشه ای که هم اکنون حاضرید:

# find . -name tecmint.txt
./tecmint.txt

۲- یافتن فایل در مسیر خاص برای مثال home/
یافتن تمامی فایل هایی که در مسیر home/ نام آنها tecmint.txt میباشد:

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


۴- یافتن پوشه ها بر اساس نام

پیدا کردن تمامی پوشه هایی که نام آنها Tecmint میباشد در مسیر /


# find / -type d -name Tecmint
/Tecmint

۵- یافتن فایل 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


بخش دوم: جستجوی فایل ها بر اساس دسترسی آنها (Permissions)

۷- جستجوی فایل ها با پرمیشن آنها ۷۷۷

یافتن تمام فایل هایی که سطح دسترسی آنها ۷۷۷ میباشد.


# find . -type f -perm 0777 -print
# find . -type f -perm 0777 -print

۸- جستجوی فایل های بدون دسترسی ۷۷۷

یافتن تمام فایل هایی که سطح دسترسی آنها ۷۷۷ نمیباشد.


# find / -type f ! -perm 777
# find / -type f ! -perm 777

۹- جستجوی فایل های SGID با سطح دسترسی ۶۴۴

یافتن تمام فایل های SGID bit که سطح دسترسی آنها ۶۴۴ میباشد.


# find / -perm 2644
# find / -perm 2644

۱۰- جستجوی فایل های Sticky Bit با سطح دسترسی ۵۵۱

یافتن تمام فایل های Sticky Bit که دسترسی آنها ۵۵۱ میباشد.


# find / -perm 1551
# find / -perm 1551

۱۱- جستجوی فایل SUID

یافتن تمام فایل های SUID

# find / -perm /u=s
# find / -perm /u=s

۱۲- جستجوی فایل SGID
یافتن تمام فایل های SGID


# find / -perm /g+s
# find / -perm /g+s

۱۳- جستجوی فایل های Read Only
یافتن تمام فایل هایی که سطح دسترسی آنها خواندن(Read Only) میباشد.


# find / -perm /u=r
# find / -perm /u=r

۱۴- جستجوی فایل های Executable
یافتن تمام فایل های اجرایی


# find / -perm /a=x
# find / -perm /a=x

۱۵- جستجوی فایل های با سطح دسترسی ۷۷۷ میباشد و تغییر آن به ۶۴۴ 
یافتن تمام فایل هایی که سطح دسترسی آنها ۷۷۷ میباشد و تغییر دسترسی آنها به ۶۴۴ با استفاده از دستور chmod


# find / -type f -perm 0777 -print -exec chmod 644 {} \;
# find / -type f -perm 0777 -print -exec chmod 644 {} \;

۱۶- جستجوی پوشه های با سطح دسترسی۷۷۷ میباشد و تغییر آن به ۶۴۴ 
یافتن تمام پوشه هایی که سطح دسترسی آنها ۷۷۷ میباشد و تغییر دسترسی آنها به ۶۴۴ با استفاده از دستور chmod


# find / -type d -perm 777 -print -exec chmod 755 {} \;
# find / -type d -perm 777 -print -exec chmod 755 {} \;

۱۷- جستجو و حذف یک فایل خاص
یافتن فایلی بنام tecmint.txt و حذف آن


# find . -type f -name "tecmint.txt" -exec rm -f {} \;
# find . -type f -name "tecmint.txt" -exec rm -f {} \;

۱۸- جستجو و حذف همزمان چند فایل
یافتن و حذف همزمان چندین فایل مانند mp3. یا txt.


# find . -type f -name "*.txt" -exec rm -f {} \;

OR

# find . -type f -name "*.mp3" -exec rm -f {} \;
# find . -type f -name "*.txt" -exec rm -f {} \;

OR

# find . -type f -name "*.mp3" -exec rm -f {} \;

۱۹- جستجوی تمام فایل های خالی
یافتن تمام فایل های خالی در مسیری خاص


# find /tmp -type f -empty
# find /tmp -type f -empty

۲۰- جستجوی تمام پوشه های خالی
یافتن تمام پوشه های خالی در مسیری خاص


# find /tmp -type d -empty
# find /tmp -type d -empty

۲۱- جستجوی تمام فایل های مخفی
یافتن تمام فایل های مخفی با دستور زیر:


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

بخش سوم: جستجوی فایل بر اساس owner و گروه
۲۲- جستجوی یک فایل بر پایه نام کاربری خاص
یافتن یک یا تمام فایل های مربوط به یوزر root در مسیر root/ با نام tecmint.txt


# find / -user root -name tecmint.txt
# find / -user root -name tecmint.txt

۲۳- جستجوی تمام فایلها بر پایه نام کاربری خاص
یافتن تمام فایل های مربوط به یوزر Tecmint در مسیر home/


# find /home -user tecmint
# find /home -user tecmint

۲۴- جستجوی تمام فایل های یک گروه خاص
یافتن تمام فایل هایی که در زیر گروه Developer در مسیر home/ قرار دارند:


# find /home -group developer
# find /home -group developer

۲۵- جستجوی یک فایل خاص در یوزر خاص
یافتن تمام فایل های txt. متعلق به یوزر Tecmint در مسیر home/


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

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

۲۶- یافتن فایل هایی که در ۵۰ روز اخیر ویرایش شده اند
یافتن فایل هایی که در ۵۰ روز اخیر ویرایش شده اند.


# find / -mtime 50
# find / -mtime 50

۲۷- یافتن فایل هایی که در ۵۰ روز اخیر مشاهده شدند

یافتن فایل هایی که در ۵۰ روز اخیر مشاهده شدند


# find / -atime 50
# find / -atime 50

۲۸- یافتن فایل هایی که از ۵۰ تا ۱۰۰ روز پیش ویرایش شده اند.

یافتن فایل هایی که بیشتر از ۵۰ روز پیش و کمتر از ۱۰۰ روز پیش ویرایش شده اند. ( فاصله ی بین ۵۰ الی ۱۰۰ مد نظر است- از ۱ تا ۵۰ نادیده گرفته میشود)


# find / -mtime +50 –mtime -100
# find / -mtime +50 –mtime -100

۲۹- فایل های تغییر داده شده در ۱ ساعت اخیر
یافتن تمام فایل هایی که در یک ساعت گذشته تغییر داده شده اند


# find / -cmin -60
# find / -cmin -60

۳۰- فایل های ویرایش شده در ۱ ساعت اخیر
یافتن تمام فایل هایی که در یک ساعت اخیر ویرایش شده اند.


# find / -mmin -60
# find / -mmin -60

۳۱- فایل هایی که طی ۱ ساعت اخیر از انها استفاده شد
برای یافتن فایل هایی که طی یکساعت گذشته مورد استفاده قرار گرفتند.


# find / -amin -60
# find / -amin -60

بخش پنجم: جستجوی فایل ها و پوشه ها بر اساس اندازه(Size)

۳۲- جستجوی فایل های ۵۰ مگابایت
یافتن تمام فایل های ۵۰ مگابایتی


# find / -size 50M
# find / -size 50M

۳۳- جست و جوی فایل های ۵۰ – ۱۰۰ مگابایتی
یافتن تمام فایل هایی که حجم آنها ۵۰ – ۱۰۰ مگابایت میباشد.


# find / -size +50M -size -100M
# find / -size +50M -size -100M

۳۴- جست و جو و حذف فایل های ۱۰۰ مگابایتی
یافتن و حذف تمام فایل هایی که حجم آنها ۱۰۰ مگابایت میباشد.


# find / -size +100M -exec rm -rf {} \;
# find / -size +100M -exec rm -rf {} \;

۳۵- جست و جو و حذف فایلی خاص

یافتن تمام فایل های mp3. که حجم انها بیشتر از ۱۰ مگابایت میباشد و حذف آنها


# find / -type f -name *.mp3 -size +10M -exec rm {} \;
# find / -type f -name *.mp3 -size +10M -exec rm {} \;

آیا این پاسخ به شما کمک کرد؟

  • find command linux, find cmd, find, دستور فایند, جستجو فایل در لینوکس, جستجو فولدر ودایرکتوری
  • 0
« برگشت