网站首页 > 技术文章 正文
关注我,不迷路,大家好,我是大王。--Linux运维
一、背景说明
对于一个运维人员来说,跟 find 打交道的次数肯定不少,今天来说一说 find 的那些事。
二、find简介
find命令是Linux系统中的强大工具,用于在文件系统中查找和定位文件和目录。它可以通过不同的选项和参数来满足不同的需求,例如按名称查找、按类型查找、按时间查找等。
四、find基本语法
find [path] [expression]
参数说明:
- path:要搜索的路径。
- expression:要执行的操作表达式。是可选参数
expression 中可使用的选项有很多,以下列出最常用的部份:
- -name :按文件名查找。支持使用通配符 * 和 ?。
- -type :按文件类型查找。可以是 f(普通文件)、d(目录)、l(符号链接)等。
- -size :按文件大小查找,支持使用 + 或 - 表示大于或小于指定大小,单位可以是 c、w、b、k、M或 G。
- -mtime :按修改时间查找,支持使用 + 或 - 表示在指定天数前或后。
- -exec:执行命令进行操作
时间的额外参数:
- -amin n:查找在 n 分钟内被访问过的文件。
- -atime n:查找在 n*24 小时内被访问过的文件。
- -cmin n:查找在 n 分钟内状态发生变化的文件(例如权限)。
- -ctime n:查找在 n*24 小时内状态发生变化的文件(例如权限)。
- -mmin n:查找在 n 分钟内被修改过的文件。
- -mtime n:查找在 n*24 小时内被修改过的文件。
在这些参数中,n 可以是一个正数、负数或零。正数表示在指定的时间内修改或访问过的文件,负数表示在指定的时间之前修改或访问过的文件,零表示在当前时间点上修改或访问过的文件。
例如:-mtime 0 表示查找今天修改过的文件,-mtime -7 表示查找一周以前修改过的文件。
关于时间 n 参数的说明:
- +n:查找比 n 天前更早的文件或目录。
- -n:查找在 n 天内更改过属性的文件或目录。
- n:查找在 n 天前(指定那一天)更改过属性的文件或目录。
四、find实例演示
4.1 按文件名进行查找
注:支持使用通配符 * 和 ?。
## 在 / 目录下面查找具体文件【范围自定义】
find / -name yunjia-yunwei.sh
## 用正则 在 / 目录下面进行模糊查找【范围自定义】
find / -name yunjia-*
4.2 按文件类型进行查找
- 注:参数 f(普通文件)、d(目录)、l(符号链接)
# 查找当前目录下的文件
find . -type f
# 查找当前目录下的目录
find . -type d
4.3 按修改时间进行查找
+ 或 - 表示在指定天数前或后
# 查找当前目录中7天以内修改过的所有文件
find . -mtime -7
# 查找当前目录中7天以前修改过的所有文件
find . -mtime +7
4.4 按文件大小进行查找
支持使用 + 或 - 表示大于或小于指定大小,单位可以是 c(字节)、w(字数)、b(块数)、k(KB)、M(MB)或 G(GB)。
# 查找当前目录中大小大于1MB的所有文件:
find . -size +1M
# 查找当前目录中大小大于1MB的所有文件:
find . -size -1M
4.5 执行命令进行操作
对查找出来的内容进行二次操作
# 查找当前目录中名称为 asr_ime.sql 的文件并执行删除命令:
find . -name asr_ime.sql -exec rm -rf {} \;
- 上一篇: linux命令之find和locate深度对比分析
- 下一篇: 用好正则替换 文件名关键词颠倒巧重组
猜你喜欢
- 2024-12-27 史上最全正则详解 正则的用法
- 2024-12-27 慎用正则表达式 使用正则表达式
- 2024-12-27 Java性能调优--代码篇:优化正则表达式的匹配效率
- 2024-12-27 详细介绍一下Python爬虫中的正则表达式匹配规则?
- 2024-12-27 Word中实例演示:高级查找与高级替换等....
- 2024-12-27 再杂也无惧 在Excel高效提取数字 excel如何提取出数字
- 2024-12-27 Linux下find与exec的联手干大事 linux find -newer
- 2024-12-27 Java中如何使用正则技术提取html中的任意内容
- 2024-12-27 一看就懂 | 30分钟入门正则表达式,看这一篇就够了(值得收藏)
- 2024-12-27 VBA如何找出工作表数据中的数字,简单到不用思考
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)