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

Linux搜索查找类指令

1、find指令

基本语法:find [搜索范围] [选项]

功能:将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或目录显示在终端。

常用选项:

操作

命令示例

说明

查找指定路径下的所有文件

find /path/to/dir

查找指定目录下的所有文件和目录。

查找指定名称的文件

find /path/to/dir -name "filename"

查找指定名称的文件(支持通配符)。例如:find . -name "*.txt"

查找所有.txt文件。

查找指定类型的文件

find /path/to/dir -type f

查找所有普通文件。-type d查找目录,-type l查找符号链接。

查找修改时间在指定范围内的文件

find /path/to/dir -mtime +7

查找修改时间超过 7 天的文件。-mtime -7查找修改时间在过去 7 天内的文件。

查找文件大小符合条件的文件

find /path/to/dir -size +100M

查找大小大于 100MB 的文件。+

表示大于,-表示小于,c表示字节,k表示 KB,M表示 MB。

查找并执行命令

find /path/to/dir -name "*.log" -exec rm {} \;

查找.log文件并删除。{}是每个匹配的文件,\;表示命令结束。

查找符合条件并显示详细信息

find /path/to/dir -name "*.txt" -exec ls -l {} \;

查找.txt文件并显示详细信息。

查找目录并排除特定目录

find /path/to/dir -type d ! -name "exclude_dir"

查找目录,排除名为exclude_dir的目录。

查找具有特定权限的文件

find /path/to/dir -perm 644

查找权限为 644 的文件。

查找大于特定大小的文件

find /path/to/dir -size +100M

查找文件大小大于 100MB 的文件。

查找符合多个条件的文件

find /path/to/dir -name "*.txt" -size +1M

查找.txt文件且大小大于 1MB 的文件。

查找并显示文件的 inode 号

find /path/to/dir -name "*.log" -printf "%i %p\n"

查找.log文件并显示文件的 inode 号和路径。

 

  • -name:按文件名进行匹配,可以使用通配符(如 *)。
  • -type:按文件类型进行匹配。常见类型有:
  • f:普通文件
  • d:目录
  • l:符号链接
  • -mtime:按文件修改时间进行匹配。+n 表示超过 n 天,-n 表示过去 n 天内,n 表示正好 n 天。
  • -size:按文件大小进行匹配。可以使用 k、M、G 等单位。
  • -exec:执行命令。{} 是一个占位符,表示每个匹配到的文件,\; 表示命令结束。
  • -printf:自定义输出格式,输出包括文件的 inode 号、路径、大小等信息。

示例:

按文件名:根据文件名称查找 /home 目录下的hello.txt 文件。没有文件不会有输出提示。

按拥有者:查找/opt 目录下,用户名称为 nobody 的文件

查找整个Linux系统下大于200M的文件(+n 大于 -n 小于 n 等于)

2、locate指令

基本语法:locate 搜索文件

功能:locate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻

注意:

由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。

示例:

使用locate 指令快速定位a.txt 文件所在目录

3、which指令

可以查看某个指令在哪个目录下

查看ls指令在哪个目录下

4、grep指令和管道符号 |

基本语法:grep [选项] 查找内容 源文件

功能:grep 过滤查找,管道符 | ,表示将前一个命令的处理结果输出传递给后面的命令处理

常用选项:

-n 显示匹配行及行号

-i 忽略字母大小写

示例:

在 hello.txt 中查找 yes 所在行并显示行号

(1)

(2)

http://www.lryc.cn/news/542707.html

相关文章:

  • 江协科技/江科大-51单片机入门教程——P[1-1] 课程简介P[1-2] 开发工具介绍及软件安装
  • 监听load和hashchange事件
  • 深度剖析Seata源码:解锁分布式事务处理的核心逻辑
  • 在 Ansys Mechanical 中解决干涉拟合
  • JMeter性能问题
  • 美国国防部(DoD)SysML v2迁移指南项目
  • JavaWeb-GenericServlet源码分析(适配器/模板方法)
  • 微机原理与汇编语言试题四
  • [java基础-JVM篇]1_JVM自动内存管理
  • 安宝特科技 | Vuzix Z100智能眼镜+AugmentOS:重新定义AI可穿戴设备的未来——从操作系统到硬件生态,如何掀起无感智能革命?
  • Unity FBXExport导出的FBX无法在Blender打开
  • UE5销毁Actor,移动Actor,简单的空气墙的制作
  • 【python】提取word\pdf格式内容到txt文件
  • 002简单MaterialApp主题和Scaffold脚手架
  • jdk21下载、安装(Windows、Linux、macOS)
  • Baklib知识中台引领服务智能化
  • Spring源码分析の循环依赖
  • 检查SSH安全配置-关于“MaxStartups参数”
  • 某查”平台请求头反爬技术解析与应对
  • MOE结构解读和deepseek的MoE结构
  • LLM+多智能体协作:基于CrewAI与DeepSeek的邮件自动化实践
  • 基于C++“简单且有效”的“数据库连接池”
  • 为什么要将PDF转换为CSV?CSV是Excel吗?
  • Redis 集群的三种模式:一主一从、一主多从和多主多从
  • 面试题——简述Vue 3的服务器端渲染(SSR)是如何工作的?
  • 2.25DFS和BFS刷题
  • C语言基本知识------指针(4)
  • 【OMCI实践】ONT上线过程的omci消息(六)
  • C语言(13)------------>do-while循环
  • 腾讯SQL面试题解析:如何找出连续5天涨幅超过5%的股票