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.搜索最近五天内被访问过的所有文件 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 . -typef -name "*.php" ! -perm 777 以上是find查找文件常用命令,在使用到find命令时,可以参考以上实例!
|