2021-05-12 14:32:11
5分鐘學會find命令
find的使用格式如下:
$ find <指定目錄> <指定條件> <指定動作>
- <指定目錄>: 所要搜尋的目錄及其所有子目錄。預設為當前目錄。
- <指定條件>: 所要搜尋的檔案的特徵。
- <指定動作>: 對搜尋結果進行特定的處理。
如果什麼引數也不加,find預設搜尋當前目錄及其子目錄,並且不過濾任何結果(也就是返回所有檔案),將它們全都顯示在螢幕上。
1.當前目錄下查詢檔案
[root@linuxidc.com ~]# find . -name test.txt ./findtest/test.txt
2.指定目錄下查詢
[root@linuxidc.com ~]# find /root/ -name test.txt /root/findtest/test.txt
3.忽略大小寫查詢
[root@linuxidc.com ~]# find /root -iname test.txt /root/findtest/test.txt /root/findtest/TEST.txt
4.查詢目錄
[root@linuxidc.com ~]# find / -type d -name test /usr/lib64/Python2.7/unittest/test /usr/lib64/python2.7/test /usr/src/kernels/3.10.0-229.14.1.el7.x86_64/include/config/test /usr/src/kernels/3.10.0-229.14.1.el7.x86_64/lib/raid6/test
5.按名稱查詢php檔案
[root@linuxidc.com zabbix]# find . -type f -name events.php ./events.php
6.在目錄中查詢所有的php檔案
[root@linuxidc.com zabbix]# find . -type f -name "*.php" ./graphs.php ./tr_logform.php ./authentication.php ./popup_httpstep.php ./image.php ..........
7.查詢檔案許可權是777的
[root@linuxidc.com ~]# find . -type f -perm 0777 -print ./findtest/test.txt
8.查詢檔案許可權不是777的
[root@linuxidc.com ~]# find . -type f ! -perm 0777 -print
9.查詢644許可權的SGID檔案
[root@linuxidc.com ~]# find / -perm 2644
10.查詢許可權為551的黏著位檔案
[root@linuxidc.com ~]# find / -perm 1551
11.查詢所有SUID檔案
root@linuxidc.com ~]# find / -perm /u=s
12.查詢所有SGID檔案
[root@linuxidc.com ~]# find / -perm /g+s
13.查詢所有唯讀檔案
[root@linuxidc.com ~]# find / -perm /u=r
14.查詢所有可執行檔案
[root@linuxidc.com ~]# find / -perm /a=x
15.查詢所有777檔案,並改為644
反斜槓用來告訴find何時命令結束
[root@linuxidc.com ~]# find / -type f -perm 0777 -print -exec chmod 644 {} ;
16.查詢所有777的目錄,並改為755
[root@linuxidc.com ~]# find / -type d -perm 777 -print -exec chmod 755 {} ;
17.查詢並刪除某個檔案
[root@linuxidc.com ~]# find . -type f -name "test.txt" -exec rm -f {} ;
18.查詢並刪除多個檔案
[root@linuxidc.com ~]# find . -type f -name "*.txt" -exec rm -f {} ;
19.查詢所有的空檔案
[root@linuxidc.com ~]# find /tmp -type f -empty
20.查詢所有空目錄
[root@linuxidc.com ~]# find /tmp -type d -empty
21.查詢所有隱藏檔案
[root@linuxidc.com ~]# find /tmp -type f -name ".*"
22.根據使用者查詢某個檔案
[root@linuxidc.com ~]# find / -user root -name test.txt
23.根據使用者查詢所有的檔案
在/home下屬於某個使用者的所有檔案
[root@linuxidc.com ~]# find /home -user zabbix /home/zabbix /home/zabbix/.bash_history /home/zabbix/.config /home/zabbix/.config/abrt /home/zabbix/mysql-community-release-el7-5.noarch.rpm /home/zabbix/.lesshst /home/zabbix/.cache /home/zabbix/.cache/abrt /home/zabbix/.cache/abrt/lastnotification /home/zabbix/.bash_logout /home/zabbix/.viminfo /home/zabbix/.mysql_history /home/zabbix/.bashrc /home/zabbix/.bash_profile
24./home目錄下查詢某個組的所有檔案
[root@linuxidc.com ~]# find /home -group developer
25./home目錄下忽略大小寫查詢使用者zabbix的所有檔案
[root@linuxidc.com ~]# find /home -user zabbix -iname "*.txt"
26.查詢50天之內修改過的檔案
[root@linuxidc.com ~]# find / -mtime 50
27.查詢50天之內被存取過的檔案
[root@linuxidc.com ~]# find / -atime 50
28.查詢50-100天之內修改過的檔案
[root@linuxidc.com ~]# find / -atime +50 -mtime -100
29.查詢1個小時之內有變化的檔案
[root@linuxidc.com ~]# find / -cmin -60
30.查詢1個小時之內修改過的檔案
[root@linuxidc.com ~]# find / -mmin -60
31.查詢1個小時之內被存取過的檔案
[root@linuxidc.com ~]# find / -amin -60
32.查詢所有的50M大小的檔案
[root@linuxidc.com ~]# find / -size 50M
33.查詢50-100M之間的檔案
[root@linuxidc.com ~]# find / -size +50M -size -100M
34.查詢並刪除100M大小的檔案
[root@linuxidc.com ~]# find / -size +100M -exec rm -rf {} ;
35.查詢並刪除指定型別,指定大小的檔案
[root@linuxidc.com ~]# find / -type f -name *.mp3 -size +10M -exec rm {} ;
本文永久更新連結地址:http://www.linuxidc.com/Linux/2016-11/137051.htm
相關文章