Linux中find命令用法焦点要点提炼

打印 上一主题 下一主题

主题 1945|帖子 1945|积分 5835

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
各人好,欢迎来到程序视点!我是你们的老朋友.小二!
以下是针对Linux中find命令用法的焦点要点提炼:

基础语法结构
  1. find [路径] [选项] [操作]
复制代码

  • 路径:查找目次(.表当前目次,/表根目次)
  • 选项:指定查找条件(如文件名、权限、时间等)
  • 操作:对结果的处理(-print、-exec、-ok等)

焦点选项分类

按文件属性查找


  • 文件名
    -name "*.txt"(准确匹配)
    -iname(忽略巨细写)
    -regex(正则匹配)
  • 文件类型
    -type f/d/l(普通文件/目次/符号链接)
  • 权限与归属
    -perm 755(权限匹配)
    -user (属主)
    -group (属组)
按时间查找


  • 修改时间(mtime)
    -mtime -7(7天内修改)
    -mtime +30(30天前修改)
  • 访问时间(atime)
    -atime -1(1天内访问)
  • 创建时间(ctime)
    -ctime +90(90天前创建)
按巨细查找


  • -size +10M(大于10MB)
  • -size -1G(小于1GB)
  • -size 0(空文件)

结果处理操作


  • 默认输出
    -print(打印匹配文件路径)
  • 执行命令
    -exec command {} \;(直接执行)
    -ok command {} \;(交互确认后执行)
  • 管道传递
    find ... | xargs command(批量处理结果)

高频实用示例


  • 删除7天前的日志
    1. find /logs -type f -mtime +7 -exec rm {} \;
    复制代码
  • 查找并压缩所有.log文件
    1. find . -name "*.log" -exec gzip {} \;
    复制代码
  • 统计代码行数
    1. find src/ -name "*.py" | xargs wc -l
    复制代码
  • 忽略特定目次
    1. find . -path "./cache" -prune -o -name "*.conf"
    复制代码

进阶技巧


  • 逻辑组合:-a(AND)、-o(OR)、!(NOT)
    1. find . -name "*.sh" ! -perm 777
    复制代码
  • 深度控制
    -maxdepth 3(限制搜索深度)
    -mindepth 2(跳过顶层目次)
  • 跨文件系统
    -mount(不超过挂载点)

留意事项


  • 性能优化:限制搜索范围,制止全盘扫描。
  • 安全提示:慎用-exec直接删除文件,建议先-print确认。
  • 符号链接:默认不跟踪,需加-follow。
通过把握上述焦点用法,可高效完成文件检索、批量操作等使命,显著提升Linux系统管理效率。
最后

【程序视点】助力打工人减负,从来不是说说而已!后续小二哥会继续详细分享更多实用的工具和功能。
如果这篇文章对你有帮助的话, 别忘了【一键三连】支持下哦~

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

乌市泽哥

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表