语法:

find path-name [-options][-print -exec -ok命令 {} \;]

作用:

find命令用于在指定的路径下查找指定的文件。

选项:

选项说明
path-namefind命令查找的目录路径,“.”表示当前目录,“/”表示系统根目录
-options参数
-print将搜索结果输出到标准输出
-exec对搜索出符合条件的文件执行所给出的Linux命令,而不询问用户是否需要执行该命令
-ok对搜索出符合条件的文件执行所给出的Linux命令,会询问用户是否需要执行该命令

参数:

参数说明
-name“字符串”查找文件名匹配的所有文件
-user“字符串”查找属于用户名为所给字符串的所有文件
-group“字符串”查找属于用户组名为所给字符串的所有文件
-depth在查找文件时,首先查找当前目录下的文件,然后再查找其子目录下的文件
-prune 目录指出搜索时不搜索该目录,如果同时使用-depth选项,那么-prune将被find命令忽略
-perm查找符合指定权限数值的文件或目录
-nouser“字符串”查找不属于用户名为所给字符串的所有文件
-nogroup“字符串”查找不属于用户组名为所给字符串的所有文件
-mtime +n或-n按时间搜索,+n表示n天之前的,-n表示今天到n天前之间的
-size n查找文件长度为n块的文件,带有c时表示文件长度以字节计
-type 文件类型

按指定文件类型搜索

b块设备文件

d目录

c字符设备文件

p管道

l符号链接

f普通文件

-newer查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录

案例:

1. 在dotcpp目录下查找以.txt结尾的文件

1
find /dotcpp -name “*.txt”

2. 在当前目录下查找以.txt结尾的文件

1
find . -name “*.txt”

3. 在dotcpp目录下查找普通文件

1
find /dotcpp -type f

4. 在当前目录下查找最近10天内更新过的文件

1
find . -mtime -10

5. 在dotcpp目录下查找更新超过10天的普通文件,并在删除之前进行询问

1
find /dotcpp -type f -mtime +10 -ok rm {} \;

6. 查找系统中所有文件长度为0的普通文件,并列出它们的完整路径

1
find / -type f -size 0 -exec ls -l {} \;


点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)