find命令用来在指定目录下查找文件的命令,和locate不同,find命令是实时精确查找,不做模糊匹配,但是可以使用通配符查找,相对更精确。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件,并且将查找到的子目录和文件全部进行显示。
语法格式:find [查找路径] [查找条件] [查找后的动作]
查找路径:指定具体搜索路径,默认为当前路径下;
查找条件:可以根据文件名、大小、权限、日期等进行查找。没有指定条件的话默认为当前路径下所有文件;
查找后的动作:对符合条件的文件作出的操作,如删除、复制,默认为输出到标准输出。
实例列举:
1. 列出当前目录及子目录下所有文件和文件夹
find .
2. 在/admin目录下查找以.txt结尾的文件名
find /admin -iname "*.txt"
3. 找出/ admin下不是以.txt结尾的文件
find / admin ! -name "*.txt"
4. 当前目录及子目录下查找所有以.txt和.pdf结尾的文件
find . -name "*.txt" -o -name "*.pdf"
5. 匹配文件路径或者文件
find /admin/ -path "*user*"
6. 基于正则表达式匹配文件路径
find . -regex ".*\(\.txt\|\.pdf\)$"
7. 搜索出深度距离当前目录至少3个子目录的所有文件
find . -mindepth 3 -type f
8.搜索最近五天内被访问过的所有文件
find . -type f -atime -5
9.搜索五天前被访问过的所有文件
find . -type f -atime 5
10.搜索超过五天被访问过的所有文件
find . -type f -atime +5
11. 搜索访问时间超过5分钟的所有文件
find . -type f -amin +10
12. 删除当前目录下所有.txt文件
find . -type f -name "*.txt" -delete
13. 搜索出当前目录下权限为777的文件
find . -type f -perm 777
14. 找出当前目录下权限不是777的php文件
find . -type f -name "*.php" ! -perm 777
以上是find查找文件常用命令,在使用到find命令时,可以参考以上实例!
有疑问加站长微信联系(非本文作者)