首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Linux学习】5 分钟掌握 find搜索命令

为什么用 find?

想象下一台运行 3 年的服务器,老板要求清理超过 100MB 的日志文件。如果用图形界面逐个翻找,估计要加班到凌晨... 而用 find 命令只需一行:

find /var/log -name "*.log" -size +100M -delete

基础语法与核心参数

find [搜索路径] [条件] [操作]

搜索路径:默认当前目录(.),支持绝对路径(/)或用户目录(~)

条件:文件名、类型、大小、时间等

操作:打印路径(默认)、删除、执行命令等

按名称与类型搜索

精准定位文件名

# 区分大小写查找passwd文件find / -name "passwd"# 不区分大小写查找JPG文件find ~ -iname "*.JPG"# 正则表达式匹配(注意转义)find /data -regex ".*\.(jpg|png)$"

过滤文件类型

# 找目录find ~ -type d# 找符号链接find /usr/local/bin -type l# 找普通文件find /tmp -type f

⏳ 时间与大小筛选

按修改时间搜索

# 7天前修改的文件(清理旧日志)find /var/log -mtime +7 -delete# 3天内修改的文件find ~/docs -mtime -3# 比某个文件更新的文件find /data -newer /etc/config.txt

按文件大小过滤

# 大于100MB的文件find /data -size +100M# 小于1KB的文件find ~ -size -1k# 精确匹配512字节的文件find /dev -size 512c

权限与所有者查找

按权限查找

# 精确匹配777权限find / -perm 777# 至少有一个用户有执行权限find /bin -perm /u+x

按所有者 / 组查找

# 查找用户yang的文件find /home -user yang# 查找开发组的文件find /data -group developers

高级技巧与实战

🧩 组合条件

# 找大于50MB的PDF,排除备份目录find /data -name "*.pdf" -size +50M -not -path "*backup*"# 目录或7天内修改的文件find . \( -type d -o -mtime -7 \)

执行批量操作

# 批量修改权限find . -type f -name "*.sh" -exec chmod 755 {} \;# 安全删除(先预览)find /tmp -type f -mtime +30 -ok rm {} \;# 配合xargs并行处理find . -type f -print | xargs -n 100 chown yang

速查表

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OtZcDUOR8QuEpPBMlvy-1Sfw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券