find命令使用格式:
find 搜索路径 查找条件 动作
搜索路径常用写法:
- 1:/ 查找整个linux
- 2:./ 查看当前位置及其子目录
- 3:指定路径,例如:/home/aaa/bbb
查找条件
- 1:根据文件名查找 -name
- 2:根据文件类型查找 -type f -type d
- 3:根据文件的权限查找 -perm u=s -perm g=s
- 4:根据文件的时间戳查找 -mtime
动作
- --print:输出查找结果
- --exec 命令 \; 在find执行结束后,执行一个命令
案例1:在文件系统中,找a.txt文件
find / -name "a.txt" -print![]()
案例2:在文件系统中,找后缀是.txt的文件
find / -name "*.txt" -print
案例3:在home下找后缀是txt的文件
find /home -name "*.txt" -print
案例4:在home下,找后缀txt的文件,并且文件类型是一般文件
find /home -name "*.txt" -type f
案例5:在系统中,找具有suid的文件的
find / -perm -u=s 2>/dev/null
根据文件的时间戳查找文件内容
-mtime [+-]n:文件的创建(单位是天)-ctime [+-]n:文件修改时间(单位是天)-atime [+-]n:文件的访问时间(单位是天)说明n:单位是天-mtime 5:表示5天之前的那一天所创建的文件-n:-mtime -5:表示在5天之内所创建的文件+n:-mtime +5:表示在5天之前所创建的文件-mmin [+-]n: 单位是分钟-cmin [+-]n: 单位是分钟-amin [+-]n: 单位是分钟
例子:找出tmp下上次访问时间在7天之前的文件
find /tmp -atime +7
fing 执行命令
案例:将所有后缀是txt的文件,都复制到tmp下
[root@localhost home]# find / -name "*.txt" -exec cp -a {} /tmp \;
案例:将/home下后缀是txt的文件删除
[root@localhost home]# find /home/ -name "*txt" -exec rm -rf {} \;
最后补充一个安全方面find提权案例
前提:给用户做了sudo授权,授权可以执行find命令
提权格式:
find /xxx -exec /bin/bash \;