news 2026/7/23 11:45:25

Linux文件查找:find和locate命令入门

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux文件查找:find和locate命令入门

Linux文件查找:find和locate命令入门

服务器上找文件,不知道在哪个目录?

别一个个目录翻了,用find和locate命令快速定位。

find命令

find是最强大的查找命令,可以按各种条件搜索。

基本用法:

find目录 -name"文件名"

例子:

# 在当前目录及子目录找所有.log文件find.-name"*.log"# 在/var目录找nginx.conffind/var -name"nginx.conf"# 忽略大小写find/home -iname"readme.md"

按类型查找

# 只找文件find/var -type f -name"*.log"# 只找目录find/home -type d -name"config"# 只找链接find/usr -type l

类型参数:

  • f:普通文件
  • d:目录
  • l:符号链接

按时间查找

# 7天内修改过的文件find/var/log -mtime -7# 7天前修改的文件find/var/log -mtime +7# 最近24小时修改的文件find/var/log -mtime0# 最近1小时修改的文件find/var/log -mmin -60

时间参数:

  • mtime:修改时间(天)
  • mmin:修改时间(分钟)
  • atime:访问时间
  • ctime:状态改变时间

按大小查找

# 大于100M的文件find/home -size +100M# 小于1M的文件find/home -size -1M# 刚好100M的文件find/home -size 100M# 找大文件并显示大小find/home -size +100M -execls-lh{}\;

大小单位:

  • c:字节
  • k:KB
  • M:MB
  • G:GB

找到后执行操作

# 删除7天前的日志find/var/log -name"*.log"-mtime +7 -delete# 修改权限find/var/www -type f -execchmod644{}\;# 显示详细信息find/home -name"*.txt"-execls-l{}\;# 移动文件find.-name"*.bak"-execmv{}/backup/\;

组合条件

# 同时满足(-a 或直接连写)find/var -name"*.log"-size +10M# 满足其一(-o)find/home -name"*.jpg"-o -name"*.png"# 取反(!)find/var -type f!-name"*.log"

实用场景

找大文件清理磁盘:

find/ -type f -size +500M2>/dev/null|head-20

找最近修改的文件:

find/var/www -type f -mmin -30

清理临时文件:

find/tmp -type f -mtime +3 -delete

批量改权限:

find/var/www -type d -execchmod755{}\;find/var/www -type f -execchmod644{}\;

locate命令

locate比find快很多,但需要先建立索引。

安装:

# Ubuntuaptinstallmlocate# CentOSyuminstallmlocate

更新索引:

updatedb

使用:

locatenginx.conf

几乎秒出结果,比find快得多。

缺点:索引不是实时的,新文件可能搜不到,需要先updatedb。

find vs locate

特点findlocate
速度慢(实时搜索)快(查索引)
实时性实时需要更新索引
条件支持各种条件只能按名称
操作可以-exec执行操作只能查找

选择:

  • 知道大概位置,用find
  • 全盘搜索文件名,用locate
  • 需要按条件过滤,用find
  • 需要对结果执行操作,用find

which和whereis

找命令在哪:

# 找命令的位置whichnginx# /usr/sbin/nginx# 找命令、源码、手册的位置whereisnginx# nginx: /usr/sbin/nginx /etc/nginx /usr/share/man/man8/nginx.8.gz

远程文件搜索

有时候需要在多台服务器上找文件,我用星空组网把服务器连起来,批量搜索:

foripin10.26.1.{10..15};doecho"===$ip==="sshroot@$ip"find /var/log -name 'error.log' -size +100M"done

比一台台登录快多了。

命令速查

场景命令
按名称找find /path -name "*.log"
按大小找find /path -size +100M
按时间找find /path -mtime -7
只找文件find /path -type f
只找目录find /path -type d
找到后删除find /path -name "*.tmp" -delete
快速定位locate 文件名

小结

find命令核心用法:

find目录 -name"名称"-type 类型 -size 大小 -mtime 时间 -exec 操作{}\;

记住最常用的几个参数就够日常用了。

有问题评论区交流~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/23 9:31:56

揭秘供应链库存失控真相:Agent预警模型如何实现0缺货与低库存平衡

第一章:供应链库存失控的根源剖析供应链库存失控是许多企业运营效率低下的核心痛点。表面看是库存过剩或缺货频发,实则背后隐藏着系统性管理缺陷与信息流断裂。深入剖析其根源,有助于构建更具韧性的供应体系。信息孤岛导致需求预测失真 企业在…

作者头像 李华
网站建设 2026/7/21 11:11:25

嵌入式Linux中工作队列传递参数实现

今天详细分析一下,如何利用linux中工作队列进行参数传递以及实现方法。 第一:工作队列传参 在 Linux 内核的工作队列中, 可以通过使用工作项的方式向工作队列传递参数。 工作项是一个抽象的结构, 可以用于封装需要执行的工作及其相关的参数。 首先我们定义工作项结构,如下…

作者头像 李华
网站建设 2026/7/21 16:52:25

Java Web html+css在线英语阅读分级平台系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

摘要 随着全球化进程的加速和互联网技术的普及,英语阅读能力的重要性日益凸显。然而,传统的英语阅读教学往往缺乏个性化分级机制,导致学习者难以匹配适合自身水平的阅读材料,学习效率低下。在线英语阅读分级平台通过智能算法和数据…

作者头像 李华
网站建设 2026/7/22 6:12:24

模型压缩为何让边缘AI效率飙升?,深度解析量化与剪枝的黄金组合

第一章:模型压缩为何让边缘AI效率飙升?在资源受限的边缘设备上部署深度学习模型面临存储、计算和能耗的多重挑战。模型压缩技术通过减小模型体积与计算复杂度,显著提升了边缘AI的推理效率与响应速度。模型剪枝:去除冗余连接 剪枝通…

作者头像 李华
网站建设 2026/7/22 7:20:25

告别模糊照片:5步掌握真实世界图像去噪技术

告别模糊照片:5步掌握真实世界图像去噪技术 【免费下载链接】PolyU-Real-World-Noisy-Images-Dataset Real-world Noisy Image Denoising: A New Benchmark 项目地址: https://gitcode.com/gh_mirrors/po/PolyU-Real-World-Noisy-Images-Dataset 你是否曾经拍…

作者头像 李华