shell编程---find命令
shell编程:find命令
find . 列出当前目录以及子目录下的所有文件
find . -name "11.png"找到当前目录下名字为11.pngd的文件
find .-name “*.jpg”找到当前目录下目录所有的jpg文件
find .-name"*.jpg" -o -name "*.png"找到当前目录下jpg和png文件
find . -path "*wysiwyg"找出当前目录下路径中包含的wysiwyg的文件路径
find .! -name "*.png"找出当前目录下不是以png结尾的文件
根据文件类型查找
通过 -type 进行文件类型的过滤
f 普通文件
l 符号连接
d目录
c字符设备
b块设备
s套接字
p Fifo
根据文件大小
通过-size来过渡文件尺寸,支持的文件大小单元如下:
b---块(512字节)
c---字节
w--字
k---千字节
M---兆字节
G---吉字节
根据访问修改时间
支持下面的时间类型
访问时间(-atime/天,-amin/分钟),用户最近一次访问时间
修改时间(-mtime/天,-mmin/分钟)文件最后一次修改时间
根据权限
通过 -perm来实现。举例找出当前权限为777的文件
find .-type f -perm 777
根据文件拥有者
find .-type f -user root 找出文件拥有者为roto的文件
找到文件后执行命令
通过-ok和-exec来实现。区别在于,-ok在执行命令前会进行二次确认,-exec不会
eg:删除当前目录下所有的js文件,用-ok效果如下,删除前有二次确认
find .-type f -name "**.js" -ok rm {}\;
找出空文件
find .-empty
批量删除文件
find ... -exec rn {};
find ...| xargs rm -rf
两者都可以把find命令查找到的结果删除
其区别简单的说是前者把find命令发现的结果一次性传给exec选项,这样当文件太多时就可能出现参数太多的错误,相比较而言,后者就可以避免这个错误,因为xargs命令会分批次的处理结果。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2018-08-09 Python基础---函数传参