linux find 命令

环境信息

  • Centos 7

常用选项

命令格式:

find   path   -option   [ -print ]   [ -exec   -ok   command ]   {} \;

常用查找选项(-option):

选项 说明 示例
-amin n
-amin +n
-amin -n
在过去 n 分钟内被读取过
更改时间超过 n
更改时间在 n 以内
-anewer file 比文件 file 更晚被读取过的文件
-atime n 在过去 n 天内被读取过的文件
-cmin n 在过去 n 分钟内被修改过
-cnewer file 比文件 file 更新的文件
-ctime n 在过去 n 天内创建的文件
-mtime n 在过去 n 天内修改过的文件
-empty 空的文件
-gid n
-group name
gid 是 n
group 名称是 name
-user u 根据用户名查找
-nouser 属主不存在
-ipath p
-path p
路径名称符合 p 的文件,ipath 会忽略大小写
-name name
-iname name
文件名称符合 name 的文件。iname 会忽略大小写
-size n
-size +n
-size -n
文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
文件大小大于 n
文件大小小于 n
-type c 文件类型是 c 的文件,c 包括:
d : 目录
c : 字符设备
b : 块设备
p : 通道设备
f : 文件
l : 链接文件
s : socker
-pid n process id 是 n 的文件
-perm 0644 权限
-maxdepth
-mindepth
查找深度

常用运算符:

运算符 说明 示例
() 将运算表达式组合起来
-and
-or
-not 取反
! find . ! -type f -print
find . -anewer FILE1 ! -anewer FILE2

常用子命令:

子命令 说明 示例
-print {} \; 默认命令,输出查找到的目标到标准输出
-exec command {} \; 对查找到的目标执行命令
-ok command {} \; -exec 一样,不过执行前先询问是否执行

使用示例

查找读取时间比文件 FILE1 晚,但又比文件 FILE2 早的文件

find . -anewer FILE1 ! -anewer FILE2