Linux find命令
哈喽,大家好,我是有勇气的牛排(全网同名)🐮
有问题的小伙伴欢迎在文末评论,点赞、收藏是对我最大的支持!!!。
1 介绍
find命令用来查找置顶目录下的文件。任何位于参数之前的字符串都会被视为所要查找的目录名。如果使用命令时不设置任何参数,则默认查找当前目录以及子目录。
语法:
find path -option
amin n : 在过去 n 分钟内被读取过
-anewer file : 比文件 file 更晚被读取过的文件
-atime n : 在过去 n 天内被读取过的文件
-cmin n : 在过去 n 分钟内被修改过
-cnewer file :比文件 file 更新的文件
-ctime n : 在过去 n 天内创建的文件
-mtime n : 在过去 n 天内修改过的文件
-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name
-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写
-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
-type c : 文件类型是 c 的文件。d: 目录c: 字型装置文件b: 区块装置文件p: 具名贮列f: 一般文件l: 符号连结s: socket
2 按后缀查文件
1、查询当前目录及子目录下
,所有.log
文件
find . -name "*.log"
忽略大小写,查询当前目录
find ./ -iname "*.log"
2、查询以 txt
以及 pid
结尾的文件
find ./ -name "*.log" -o -name "*.pid"
3正则
find ./ -regex ".*\(\.log\|\.pid\)$"
忽略大小写
find ./ -iregex ".*\(\.log\|\.pid\)$"
4 否定参数
查询nginx日志目录, 不以 .log
结尾的文件
find ./ ! -name "*.log"
5 按类型查找
-maxdepth
: 最大深度限制
-mindepth
: 距离当前目录深度
find . -type 类型参数
类型参数列表:
f 普通文件
l 符号连接
d 目录
c 字符设备
b 块设备
s 套接字
p Fifo
6 按照目录深度搜索
1、搜当前目录,最大深度深度 2 的普通文件
find . -maxdepth 2 -type f
7 按时间搜索
最后一次访问时间:-atime
(天)、 -amin
(分钟)
最后一次修改时间:-mtime
(天)、 -mmin
(分钟)
最后一次变化时间:-ctime
(天)、 -cmin
(分钟
最近七天内被访问过的所有文件
find . -type f -atime -7
恰好在七天前被访问过的所有文件
find . -type f -atime 7
搜索超过七天内被访问过的所有文件
find . -type f -atime +7
找出比access.log修改时间更长的所有文件
find / -type f -newer access.log
2.7 按大小搜索
b: 块(512字节)
c: 字节(512字节)
w: 字(2字节)
k: 千字节
M: 兆字节
G: 吉字节
搜索 >1M 的文件
find . -type f -size +1M
搜索 == 1M 的文件
find . -type f -size 1M
搜索 < 1M 的文件
find . -type f -size -1M
9 删除
参数: -delete
删除当前目录下所有.txt文件
find . -type f -name "*.txt" -delete
10 权限、用户、用户组
10.1 权限
语法:-perm 权限
搜索权限为777的sh脚本
find / -type f -name "*.sh" -perm 777
非777权限的
find / -type f -name "*.sh" ! -perm 777
10.2 用户
语法:-user 用户名
find / -type f -name "*.sh" -user charles
10.3 用户组
语法:-group 用户组
find / -type f -name "*.sh" -group admin
https://wangchujiang.com/linux-command/c/find.html
11 其他
统计代码行数
find /usr/local/docker -name "*.py"|xargs cat|grep -v ^$|wc -l # 代码行数统计, 排除空行
参考地址:
https://www.couragesteak.com/article/250