find命令参考
指尖二进制 • 1 年前 • 808 次点击 • LINUX
[TOC]
根据名称查找文件
1.使用当前目录中的名称查找文件
在当前工作目录中查找名称为test.c的所有文件。
[root@localhost ~]# find test
test
2.在主目录下查找文件
查找/home目录下的所有文件,名称为test。
[root@localhost ~]# find /home -name test
/home/test
3.使用名称和忽略案例查找文件
找到名称为test的所有文件,并在/home目录中同时包含大写和小写字母。
[root@localhost ~]# find /home -iname test
/home/test
/home/TEST
4.使用名称查找目录
在/目录中查找名称为test的所有目录。
[root@localhost ~]# find / -type d -name test
5.使用名称查找PHP文件
在当前工作目录中查找名为test.PHP的所有PHP文件。
[root@localhost ~]# find -type f -name test.php
./test.php
6.查找目录中的所有PHP文件
查找目录中的所有php文件。
[root@localhost ~]# find -type f -name "*.php"
./test.php
根据权限查找文件
1.查找777个权限的文件
查找权限为777的所有文件
[root@localhost ~]# find -type f -perm 0777 -print
./test.php
2.查找没有777权限的文件
查找所有文件未经许可777。
[root@localhost ~]# find /root/ -type f ! -perm 777
3.查找具有644个权限的SGID文件
查找权限设置为644的所有SGID位文件。
[root@localhost ~]# find / -perm 2644
4.找到具有551权限的粘滞位文件
查找权限为551的所有Sticky Bit设置文件。
[root@localhost ~]# find / -perm 1551
5.查找SUID文件
查找所有SUID集文件。
[root@localhost ~]# find / -perm /u=s
6.查找SGID文件
查找所有SGID设置文件
[root@localhost ~]# find / -perm /u=s
7.查找只读文件
查找所有只读文件。
[root@localhost ~]# find / -perm /u=r
8.查找可执行文件
查找所有可执行文件。
[root@localhost ~]# find / -perm /a=x
9.找到777个权限和Chmod到644的文件
[root@localhost ~]# find / -type f -perm 0777 -print -exec chmod 644 {} \;
/root/test.php
10.找到具有777权限的目录和Chmod到755
查找所有777个权限目录,并使用chmod命令将权限设置为755。
[root@localhost ~]# find / -type d -perm 0777 -print -exec chmod 755 {} \;
/root/test
11.查找并删除单个文件
找到一个名为test.c的文件并将其删除
[root@localhost ~]# find -type f -name "test.c" -exec rm -f {} \;
12.查找并删除多个文件
查找和删除多个文件,如.mp3或.txt,然后使用。
[root@localhost ~]# find -type f -name "*.php" -exec rm -f {} \;
13.查找所有空文件
在特定路径下查找所有空文件。
[root@localhost ~]# find /root/ -type f -empty
/root/.ssh/authorized_keys
/root/1.txt
14.查找所有空目录
将特定路径下的所有空目录归档。
[root@localhost ~]# find /root/ -type d -empty
/root/test
15.文件所有隐藏文件
要查找所有隐藏的文件,请使用以下命令。
[root@localhost ~]# find /root/ -type f -name ".*"
基于所有者和组的搜索文件
`.查找基于用户的单个文件
在所有者root的/ root目录下查找名为test.c的所有或单个文件。
[root@localhost ~]# find / -user root -name test.c
/root/test.c
1.查找基于用户的所有文件
查找~目录下属于用户jz的所有文件。
[root@localhost ~]# find /home/ ~ -user jz
2.查找基于组的所有文件
查找/home目录下属于Group Developer的所有文件。
[root@localhost ~]# find /home/ -group jz
3.查找用户的特定文件
查找~目录下的用户jz的所有.txt文件
[root@localhost ~]# find /home/ ~ -user jz -iname "*.txt"
/home/jz/1.txt
根据日期和时间查找文件和目录
1.查找最近50天修改的文件
查找50天后修改的所有文件。
[root@localhost ~]# find / -user root -name 1.txt
/root/1.txt
2.查找最近50天访问的文件
查找50天后访问的所有文件。
[root@localhost ~]# find / -atime 50
3.查找最后50-100天修改的文件
查找所有被修改超过50天以及少于100天的文件。
[root@localhost ~]# find / -mtime +50 -mtime -100c
4.在过去1小时内查找更改的文件
查找最近1小时内更改的所有文件
[root@localhost ~]# find / -cmin -60
5.在最近1小时内查找修改的文件
查找最近1小时内修改的所有文件。
[root@localhost ~]# find / -mmin -60
6.查找最近1小时内访问的文件
查找最近1小时内访问的所有文件。
[root@localhost ~]# find / -amin -60
根据大小查找文件和目录
1.找到40MB的文件
要找到所有40MB的文件,请使用。
[root@localhost ~]# find / -type f -size +40M
2.查找大小在40MB到50MB之间
找到大于40MB且小于50MB的所有文件。
[root@localhost ~]# find /boot/ -size +40M -size -50M
3.查找并删除40MB的文件
查找所有40MB文件并使用一个命令删除它们。
[root@localhost ~]# find /root/ -size +40 -exec rm -rf {} \;
4.查找特定文件并删除
查找超过10MB的所有.mp3文件,并使用一个命令删除它们
[root@localhost ~]# find / -type f -name *.mp3 -size +10M -exec rm {} \;