find命令
作用
find顾名思义就是查找文件,当然也可以查找目录
基本语法
find 路径 -命令参数 [输出形式]
路径就是从哪个地方开始搜索,不写默认为当前目录
输出形式有-print,-printf,-print0,-exec,-ok,-ls
输出形式
- exec 命令名称 {} 对符合条件的文件执行所给的Linux 命令,而不询问用户是否需要执行该命令。
{}表示命令的参数即为所找到的文件;命令的末尾必须以“ \;”结束。 - ok 命令名称 {} 对符合条件的文件执行所给的Linux 命令,与exec不同的是,
它会询问用户是否需要执行该命令。 - ls 详细列出所找到的所有文件。
- fprintf 文件名 将找到的文件名写入指定文件。
- print 在标准输出设备上显示查找出的文件名(默认)。
- printf 格式 格式的写法请参考有关C语言的书。
参数
- name 按照文件名称查找文件
find . -name test.txt
// 搜索当前目录下test.txt
find . -name *.txt
//搜索当前目录下txt格式的文件 - perm 按照文件的权限查找文件
find . -perm 644
//搜索当前目录下权限644的文件 - prune 不在指定目录中查找
find . -path ./a -prune -o -name "*.txt
当前目录除a目录外查找以txt结尾的文件 -o是or的意思 - user 按照文件属主来查找文件
find . -user root
//查找root的文件 - group 按照文件所属的组来查找
find . -group root
- mtime -n +n 根据文件内容修改时间查找 +n是n天前 -n是n天之内
- mmin -n +n 同上n的单位是分钟
- atime -n +n 根据文件访问时间查找 +n是n天前 -n是n天之内
- amin -n +n 同上n的单位是分钟
- ctime -n +n 根据文件状态修改时间查找 +n是n天前 -n是n天之内
- cmin -n +n 同上n的单位是分钟
- type 查找某一类型的文件
b 块设备文件
d 目录
c 字符设备文件
p 管道文件
l 符号连接文件
f 普通文件
s socket文件 - size 文件大小 单位有b(默认) c k w M G
find . -size +10M
//查找文件大于10M的文件 - o or的意思
- a and的意思
find . -name *.txt and -size +10M
//查找名称已txt结尾,且文件大于10M - not !非的意思
find . ! -name *.txt
//查找非txt文件 - empty 空文件或空目录
find . -type d -empty
//查找所有的空目录
其他案例
find . -name "*" -type f -mtime +7 -delete
//当前下面7天前所以的文件并删除
find . \( -name "*.sh" -o -name "*.txt" \) -print
// sh或txt格式的文件, "" 转义后面的括号
find . -name '.git' -exec rm -rf {} \;
// 删除文件夹下面的所有的.git文件 {}代表前面查找的所有文件, ;是固定语法
注意事项
- 多个表达式时最好使用括号,括号需要转义,方便阅读并且可控制优先级
- 有不了解的命令可以访问cheat在线查看
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2021-03-25 git常用命令