当前位置: 首页 > backend >正文

find--命令基础

文章目录

    • `find` 命令基本语法
    • 常用查找路径
    • 常用查找条件
      • 1. 按名称查找
      • 2. 按类型查找
      • 3. 按大小查找
      • 4. 按时间查找
      • 5. 按权限查找
      • 6. 按用户/组查找
    • 常用动作(-exec / -delete / -print)
      • 1. 执行命令
      • 2. 删除匹配文件
      • 3. 只打印结果
    • 进阶用法
      • 1. 多条件组合
      • 2. 限制查找深度
      • 3. 排除目录
    • 实用示例

find 命令基本语法

find [查找路径] [查找条件] [查找动作]

常用查找路径

  • .:当前目录
  • /:从根目录开始查找
  • ~/:从当前用户主目录查找

常用查找条件

1. 按名称查找

find . -name "filename"
find . -name "*.log"
find . -iname "*.jpg"  # 忽略大小写

2. 按类型查找

  • -type f:普通文件
  • -type d:目录
  • -type l:符号链接
find . -type f
find /var/log -type d

3. 按大小查找

  • +100M:大于 100MB
  • -10k:小于 10KB
  • 100c:恰好 100 字节
find . -size +1G     # 大于 1GB
find . -size -500k   # 小于 500KB

4. 按时间查找

  • -atime:访问时间(天)
  • -mtime:修改时间(天)
  • -ctime:状态改变时间(天)
find . -mtime -3     # 3 天内修改过
find . -atime +7     # 超过 7 天未被访问

5. 按权限查找

find . -perm 644
find . -perm -4000  # 有 SUID 位的文件

6. 按用户/组查找

find . -user root
find . -group www-data

常用动作(-exec / -delete / -print)

1. 执行命令

find . -name "*.log" -exec rm -f {} \;

解释:

  • {}:表示查找到的文件名
  • \;:命令结束标志

2. 删除匹配文件

find . -name "*.tmp" -delete

3. 只打印结果

find /etc -type f -name "*.conf" -print

进阶用法

1. 多条件组合

find . -type f \( -name "*.log" -o -name "*.tmp" \)

2. 限制查找深度

find . -maxdepth 2 -name "*.sh"
find . -mindepth 1 -maxdepth 1

3. 排除目录

find . -path "./exclude_dir" -prune -o -name "*.py" -print

实用示例

需求命令
查找大于 100MB 的日志文件find . -name "*.log" -size +100M
删除 30 天前修改的 .bak 文件find . -name "*.bak" -mtime +30 -delete
查找当前目录下一级目录中所有 .py 文件find . -maxdepth 1 -name "*.py"
查找所有 SUID 程序find / -perm -4000 -type f 2>/dev/null
http://www.xdnf.cn/news/5657.html

相关文章:

  • 企业级常用的 CentOS版本
  • 智能手表 MCU 任务调度图
  • 用postman的时候如何区分服务器还是自己的问题?
  • java基础-注解和反射
  • 9.0 C# 调用solidworks介绍1
  • 分词器工作流程和Ik分词器详解
  • SMT贴片加工技术解析与应用要点
  • 荣耀手机,系统MagicOS 9.0 USB配置没有音频来源后无法被adb检测到,无法真机调试的解决办法
  • vite项目使用i18n-ally未读取到文件
  • MongoDB 操作可能抛出哪些异常? 如何优雅的处理?
  • 精品可编辑PPT | 全面风险管理信息系统项目建设风控一体化标准方案
  • kotlin-协程(什么是一个协程)
  • 智能SQL优化工具集成:从概念到实践
  • 面试篇:Spring MVC
  • C++多态讲解
  • 【Redis】分布式锁的实现
  • Excel分组计算求和的两种实现方案
  • 【Python】Python常用数据类型判断方法详解
  • K8S中构建双架构镜像-从零到成功
  • Go语言爬虫系列教程(一) 爬虫基础入门
  • 新能源汽车电池加热技术:传统膜加热 vs. 脉冲自加热
  • Porting Linux to a new processor architecture, part 1: The basics
  • 异步FIFO的学习
  • Linux 上安装RabbitMQ
  • android14优化ntp时间同步
  • 全栈工程师实战手册:LuatOS日志系统开发指南!
  • Matlab 垂向七自由度轨道车辆开关型半主动控制
  • Spring Boot集成RabbitMQ高级篇:可靠性与性能提升
  • OpenHarmony Linux内核本地管理
  • 网络爬虫学习之正则表达式