基本格式:find path expression
1、按照文件名查询 :
# 区分名称大小写
find /usr/local -name nginx.conf 2>/dev/null
# 不区分名称大小写
find /usr/local -name nginx.conf 2>/dev/null
2>/dev/null表示把标准错误重定向到黑洞文件
数字0表示标准输入-stdin
数字1表示标准输出-stdout
数字2表示标准错误-stderr
2、查找文件的所有硬链接 :
ls -i | grep [目标文件名] | cut -d " " -f 1 | xargs find ./ -inum
ls -i:显示文件索引节点号(inode),一个索引节点代表一个文件。
cut -d ” ” -f 1 表示以” “为分隔符,取第一个分隔字段
xargs find ./ -inum 表示以之前的截取的索引节点为参数,查找符合指定的inode编号的文件或目录
3、查找文件的所有软连接
ls -i | grep [目标文件名] | cut -d " " -f 1 | xargs find ./ -follow -xtype l -inum
-follow:如果遇到符号链接,则变为它所指向的目标文件或文件夹
-xtype:与-type类似,只是xtype针对符号链接检验,-type针对原文件检验
参数 | 含义 |
---|---|
f | 普通文件 |
d | 目录文件 |
l | 符号链接文件 |
b | 块设备 文件 |
c | 字符设备文件 |
p | 管道文件 |
s | 套接字文件 |
4、按照时间查找文件
# 查询最近一分钟内被访问过的文件, a -- access
find ./ -maxdepth 1 -amin -1
# 查询最近一天内访问过的文件
find ./ -maxdepth 1 -atime -1
# 查询最近一分钟内修改过的文件, m -- modify(修改内容)
find ./ -maxdepth 1 -mmin -1
# 查询最近一天内修改过的文件
find ./ -maxdepth 1 -mtime -1
# 查询最近一分钟内变更过的文件,c -- change (修改内容,或者对文件本身进行变更,比如:变更文件名或者变更文件位置、权限)
find ./ -maxdepth 1 -cmin -1
# 查询最近一天内变更过的文件
find ./ -maxdepth 1 -ctime -1
-maxdepth 1:搜索路径最大深度,相应的还有 -mindepth