linux find name命令详解

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命令时,可以参考以上实例!

猜你喜欢

转载自blog.csdn.net/lmseo5hy/article/details/82878759