Linux中的find命令用于在指定目录中搜索文件。命令行中位于选项前的字符串会被当作目标目录名。若执行时未添加任何参数,find将默认在当前目录下查找所有子目录和文件,并将结果全部列出显示。
1、 语法
2、 参数说明:
3、 根据规则,find 命令会将命令行中第一个 -、(、)、, 或 ! 之前的部分视为路径 path,之后的内容则为表达式 expression。若 path 为空,则默认使用当前所在目录;若 expression 为空,则自动采用 -print 作为默认操作。通过这一机制,可灵活指定搜索范围与执行条件,实现精准的文件查找功能,适用于多种复杂的筛选需求。
4、 expression 中可用选项多达二三十种,这里仅介绍其中最常用的部分。
5、 仅检测与指定目录位于同一文件系统的文件,不扫描其他文件系统的内容。
6、 amin n:表示在过去 n 分钟内被访问或读取过的数据。
7、 比文件 file 更近被访问过的文件
8、 查找最近n天内被访问过的文件
9、 文件在最近 n 分钟内被修改过
10、 比指定文件更新的文件会被选中进行处理。
11、 查找最近n天内被修改的文件
12、 -empty:表示空文件;-gid n 或 -group name:指 gid 为 n 或所属组名为 name 的文件。
13、 路径名称匹配 p 的文件,-path 按大小写敏感匹配,-ipath 则忽略大小写差异。
14、 按文件名查找,-name 匹配指定名称的文件,-iname 同样匹配文件名但忽略大小写差异。
15、 -size n:指定文件大小为n,其中b表示512字节块,c表示字符数,k表示千字节,w表示双字节。-type c:查找指定类型为c的文件。
16、 目录
17、 字体设备文件
18、 区块设备文件
19、 具名队列存储
20、 普通文件
21、 符号链接
22、 指定进程ID为n的文件,仅显示与该进程相关的文件信息。
23、 可用括号分隔算式,并按要求进行相应运算操作。
24、 案例一:
25、 列出当前目录及所有子目录中扩展名为c的文件。
26、 案例二:
27、 列出当前目录及其所有子目录中的文件夹
28、 案例三:
29、 列出当前目录及子目录中近20天内修改的所有文件。
30、 案例四:
31、 查找当前目录下30分钟前修改的普通文件,删除前逐一确认。
32、 案例五:
33、 查找当前目录下所有者具备读、写、执行权限,且所属组及其他用户具备读、执行权限的文件。
34、 案例六:
35、 查找系统中所有大小为零的普通文件,并显示其完整路径信息。
