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

کامند find در لینوکس یکی از کامندهای مهم و پر کاربرد است. کامند find در لینوکس برای جستجو و لیست فایل ها و دایرکتوری ها براساس وضعیتی که فایل ها در آن قرار دارد مورد استفاده قرار می گیرد. این کامند را می توان در موقعیت های مختلف مانندجستجوی فایل ها ، کاربران، گروه ها ، نوع فایل ها،تاریخ ، اندازه فایل ها و دیگر موارد استفاده کرد.
به منظور یادگیری بهتر در ۵ بخش به بررسی کامند find می پردازیم.
بخش اول: کامند find در لینوکس برای پیدا کردن فایل ها با استفاده از نام آنها
بخش دوم: پیدا کردن فایل ها براساس مجوزهایشان
بخش سوم: جستجوی فایل ها براساس گروه ها و صاحبان فایل ها
بخش چهارم: پیدا کردن فایل ها و دایرکتوری ها براساس تاریخ و زمان
بخش پنجم: پیدا کردن فایل ها و دایرکتوری ها براساس حجم
و
جستجوی چند فایل با پسوندهای متفاوت با دستور find در لینوکس
بخش اول: کامند find در لینوکس جهت پیدا کردن فایل ها با استفاده از نام آنها
۱- پیدا کردن فایل ها در دایرکتوری فعلی
به عنوان مثال جهت پیدا کردن فایل هایی که در دایرکتوری favach.txt ایجاد شده اند دستور زیر را بکار ببرید:
1 2 3 |
# find . -name favach.txt ./favach.txt |
۲- پیداکردن فایل ها در دایرکتوری home
جهت پیدا کردن فایل های موجود در دایرکتوری home که با نام favach.txt وجود دارد دستور زیر را اجرا کنید:
1 2 3 |
# find /home -name favach.txt /home/favach.txt |
۳- پیدا کردن فایل ها با استفاده از نام بدون در نظر گرفتن حروف بزرگ و کوچک
جهت پیدا کردن فایل ها درhome/که نام آنها favach.txt است و تفاوتی در نوع حروف کوچک وبزرگ آنها وجود ندارد دستور زیر را بکار ببرید:
1 2 3 4 |
# find /home -iname favach.txt ./favach.txt ./Favach.txt |
۴- پیدا کردن پوشه ها با استفاده از نام آنها
جهت پیدا کردن پوشه هایی که نام آنها در favach.txt است و در دایرکتوری / قرار دارند:
1 2 3 |
# find / -type d -name Favach /Favach |
۵- پیدا کردن فایل های PHP با استفاده از نام آنها
جهت پیدا کردن همه فایل های php که نام آنها در دایرکتوری favach.php است:
1 2 3 |
# find . -type f -name favach.php ./favach.php |
۶- پیدا کردن فایل های php در دایرکتوری فعلی
پیدا کردن تمام فایل های php با هر نامی که موجود است:
1 2 3 4 5 |
# find . -type f -name "*.php" ./favach.php ./login.php ./index.php |
بخش دوم: پیدا کردن فایل ها براساس مجوزهایشان
۷- پیدا کردن فایل ها با مجوز ۷۷۷
جهت پیدا کردن همه فایل هایی که مجوز ۷۷۷ را دارند دستور زیر را به کار ببرید:
1 |
# find . -type f -perm 0777 -print |
۸- پیدا کردن فایل ها بدون مجوز ۷۷۷
جهت پیدا کردن همه فایل هایی که مجوز ۷۷۷ را ندارند دستور زیر را بکار ببرید:
1 |
# find / -type f ! -perm 777 |
۹- پیدا کردن فایل هایSGID با مجوز ۶۴۴
جهت پیدا کردن فایل های SGID که مجوز ۶۴۴ برای آنها تنظیم شده است دستور زیر را بکار ببرید:
1 |
# find / -perm 2644 |
۱۰- پیدا کردن فایل های Sticky Bit با مجوز ۵۵۱
جهت پیدا کردن فایل های Sticky Bit که مجوز ۵۵۱ برای آنها تنظیم شده است دستور زیر را بکار ببرید:
1 |
# find / -perm 1551 |
۱۱- پیدا کردن فایل های SUID
جهت پیدا کردن همه فایل هایی که با SUID تنظیم شده اند دستور زیر را بکار ببرید:
1 |
# find / -perm /u=s |
۱۲- پیدا کردن فایل های SGID
جهت پیدا کردن فایل هایی که با SGID تنطیم شده اند دستور زیر را بکار ببرید:
1 |
# find / -perm /g=s |
۱۳- پیدا کردن فایل های فقط خواندنی (Read Only)
جهت پیدا کردن فایل های Read Only دستور زیر را بکار ببرید:
1 |
# find / -perm /u=r |
۱۴- پیدا کردن فایل های اجرایی (Executable)
جهت پیدا کردن همه فایل های اجرایی دستور زیر را بکار ببرید:
1 |
# find / -perm /a=x |
۱۵- پیدا کردن فایل ها با مجوز ۷۷۷ و Chmod به ۶۴۴
جهت پیدا کردن تمام فایل هایی که مجوز ۷۷۷ را دارند و دستور Chmod در روی آنها با مجوز ۶۴۴ تنطیم شده است دستور زیر را بکار ببرید:
1 |
# find / -type f -perm 0777 -print -exec chmod 644 {} \; |
۱۶ – پیدا کردن دایرکتوری ها با مجوز ۷۷۷ و Chmod به ۷۵۵
جهت پیدا کردن تمام دایرکتوری هایی که مجوز ۷۷۷ را دارند و دستور Chmod در روی آنها با مجوز ۶۴۴ تنطیم شده است دستور زیر را بکار ببرید:
1 |
# find / -type d -perm 777 -print -exec chmod 755 {} \; |
۱۷- پیدا و حذف یک فایل
جهت پیدا کردن یک فایل تک به نام favach.txt و حذف آن دستور زیر را بکار ببرید:
1 |
# find . -type f -name "tecmint.txt" -exec rm -f {} \; |
۱۸- پیدا و حذف چند چند فایل با پسوندهای متفاوت :
جهت پیدا کردن چند فایل با پسوندهای مختلف، مانند mp3 . یا txt . و حذف آنها دستور زیر را بکار ببرید:
1 2 3 4 5 |
# find . -type f -name "*.txt" -exec rm -f {} \; OR # find . -type f -name "*.mp3" -exec rm -f {} \; |
۱۹- پیدا کردن فایل های خالی
جهت پیدا کردن فایل های خالی در یک مسیر خاص از دستور زیر استفاده کنید:
1 |
# find /tmp -type f -empty |
۲۰- پیدا کردن دایرکتوری های خالی
جهت پیدا کردن دایرکتوری های خالی در یک مسیر خاص از دستور زیر استفاده کنید:
1 |
# find /tmp -type d -empty |
۲۱- پیدا کردن فایل های مخفی
جهت پیدا کردن همه فایل های مخفی ، دستور زیر را بکار ببرید:
1 |
# find /tmp -type f -name ".*" |
بخش سوم: جستجوی فایل ها براساس گروه ها و صاحبان فایل ها
۲۲- پیدا کردن یک فایل براساس کاربر
جهت پیدا کردن همه یا یک فایل با نام favach.txt که کاربر آن روت باشد، دستور زیر را وارد کنید:
1 |
# find / -user root -name favach.txt |
۲۳- پیدا کردن همه فایل ها براساس کاربر
جهت پیدا کردن فایل هایی که متعلق به کاربر favach است و در دایرکتوری home/ قرار دارد دستور زیر را بکار ببرید:
1 |
# find /home -user favach |
۲۴- پیدا کردن فایل ها براساس گروه
جهت پیدا کردن تمام فایل هایی که متعلق به گروه Developer است و در دایرکتوری home/ قرار دارد دستور زیر را بکار ببرید:
1 |
# find /home -group developer |
۲۵- پیدا کردن فایل های خاص کاربر
جهت پیدا کردن فایل های txt. که کاربر آن favach است و در دایرکتوری home/ دستور زیر را وارد کنید:
1 |
# find /home -user favach -iname "*.txt" |
بخش چهارم: پیدا کردن فایل ها و دایرکتوری ها براساس تاریخ و زمان
۲۶- پیدا کردن فایل هایی که در ۵۰ روز اخیر ویرایش شده اند (modified)
جهت پیدا کردن فایل هایی که در ۵۰ روز اخیر ویرایش شده اند دستور زیر را بکار ببرید:
1 |
# find / -mtime 50 |
۲۷- پیدا کردن فایل هایی که در ۵۰ روز اخیر به آن دسترسی داشته اید (accessed)
جهت پیدا کردن فایل هایی که در ۵۰ روز اخیر به آن دسترسی داشته اید دستور زیر را وارد کنید:
1 |
# find / -atime 50 |
۲۸- پیدا کردن فایل هایی که در ۵۰ تا ۱۰۰ روز اخیر تغییر یافته اند.
جهت پیدا کردن فایل هایی که بین ۵۰ تا ۱۰۰ روز اخیر دستکاری شده اند دستور زیر را بکار ببرید:
1 |
# find / -mtime +50 –mtime -100 |
۲۹- فایل هایی که در ۱ ساعت اخیر تغییر یافته اند.
جهت پیدا کردن تمام فایل هایی که در ۱ ساعت اخیر تغییر یافته اند دستور زیر را بکار ببرید:
1 |
# find / -cmin -60 |
۳۰ – فایل هایی که در ۱ ساعت اخیر ویرایش شده اند
جهت پیدا کردن فایل هایی که در ۱ ساعت اخیر ویرایش شده ند دستور زیر را بکار ببرید:
1 |
# find / -mmin -60 |
۳۱- فایل های که در ۱ ساعت اخیر به آنها دسترسی یافته ایم.
جهت پیدا کردن فایل هایی که در ۱ ساعت اخیر به آنها دسترسی داشته اید دستور زیر را بکار ببرید:
1 |
# find / -amin -60 |
بخش پنجم: پیدا کردن فایل ها و دایرکتوری ها براساس حجم
۳۲- پیدا کردن فایل هایی با حجم ۵۰MB
جهت پیدا کردن فایل هایی با حجم ۵۰MB دستور زیر را بکار ببرید:
1 |
# find / -size 50M |
۳۳- پیدا کردن فایل های بین ۵۰MB و ۱۰۰MB
جهت پیدا کردن فایل هایی که بین ۵۰MB و ۱۰۰MB دارند دستور زیر را بکار ببرید:
1 |
# find / -size +50M -size -100M |
۳۴- پیدا و حذف فایل هایی که ۱۰۰MB حجم دارند
جهت پیدا کردن و حذف فایل هایی که ۱۰۰MB دارند دستور زیر را بکار ببرید:
1 |
# find / -size +100M -exec rm -rf {} \; |
۳۵- پیدا کردن فایل های خاص و حذف آنها
جهت پیدا کردن و حذف فایل های mp3. که حجمی بالاتر از ۱۰MB دارند تنها دستور زیر را بکار ببرید:
1 |
# find / -type f -name *.mp3 -size +10M -exec rm {} \; |
همانگونه که شاهد بودید، در این مبحث به بررسی کامند find در لینوکس همراه با مثال هایی کاربردی پرداختیم. امیدواریم که این آموزش برای شما مفید بوده باشد. با ما همراه باشید.
پست های مرتبط
کامند du در لینوکس جهت مشاهده فضای استفاده شده توسط دایرکتوری ها و فایل ها