linux文件及文件内容查找命令总结

在linux环境下,我们经常要查找一个文件或者文件的内容,但搜索的命令有很多,这些命令都有什么区别,应该怎么选择和使用呢?

下面总结了一些常见的文件查找、内容查找的命令,收藏起来备用吧。

文件查找

whereis

显示命令路径以及命令相关的帮助手册文件路径,可以根据参数限定只查询命令、源文件和man文件。

常用参数

  • -b :查找可执行文件
  • -m :查找在man路径下的帮助文件
  • -s :查找源代码文件
whereis pwd #查找pwd命令的相关文件
whereis -m pwd #查找pwd命令的帮助文件
复制代码

locate

从linux内置的索引数据库/var/lib/mlocate/mlocate.db查找文件,查询速度超快,但是新建的文件可能需要一定时间才能加入该索引数据库,可以执行updatedb命令强制更新一次索引。该命令通常会返回大量匹配项,可以使用 -r 选项通过正则表达式来精确匹配。

centos默认没有该命令,需要安装yum install mlocate,然后执行updatedb初始化文件库。

格式:locate [选项] 文件名

常用参数

  • -i:忽略大小写
  • -l:仅输出几行的意思,例如输出5行则是-l 5;
  • -r :后面可接正则表达式的显示方式
  • -c:不输出文件名,仅计算找到的文件数量;

常用使用案例

locate pwd # 查找pwd命令相关的所有文件
locate /etc/sh # 查找etc目录下以sh开头的文件
locate -c /etc/sh #查找etc目录下以sh开头的文件数
locate -l 4 passwd # 是输出前4行复制代码

find

find的功能非常强大,它是从文件系统中进行搜索,默认从根目录搜索,速度很慢,一般是搜索指定目录下符合条件的文件。

格式:find + 查找的路径 + 参数 + 限定条件

常用参数:

  • -name:按照名称查找
  • -type:安装文件类型查找(“f”标识文件,"d"表示文件夹)
  • -size:根据大小查找
  • -perm:根据权限查找
  • -mtime:根据修改时间查找
  • -atime:根据访问时间查找

常用使用案例

find ./ -name test.sh # 查看当前目录下名为test.sh的文件
find ./ -name '*.sh' # 查找当前目录下后缀为sh的文件。
find /etc -type f # 查找etc目录下的所有文件
find /etc -type d # 查找etc目录下的所有文件夹
find /home -size 10M #  查找home目录下等于10M的文件
find /home -size +10M # 查找home目录下大于10M的文件
find /home  # 查找home目录下小于10M的文件
find /home -size +5M -size -10M # 查找home目录下大于5M小于10M的文件
find /home -perm 777 # 查找home目录下权限为777的文件或目录
find / -mtime -3 #查找3天内修改过的文件
find / -atime -3 #查找3天内访问过的文件
复制代码

总结,这三个命令都是查找文件的,whereislocate都是基于系统内建的数据库进行搜索,因此效率很高,而find则是遍历硬盘查找真实的文件,所以资源消耗比较大,速度慢。查找一般文件优先使用whereislocate,两个都搜索不到或者需要使用更多条件搜索再使用find。

内容查找

grep

grep是linux系统一个强大的文本搜索工具,可以从文本文件或者管道数据流中筛选匹配的行或者数据。可以使用字符串或者正则表达式匹配。

格式:grep + 参数 + 模式匹配 + 查找的文件

常用参数

  • -v:显示不匹配的文本(排查符合的行)
  • -i:不区分大小写
  • -n:显示匹配行及行号
  • -c:显示匹配的行数
  • -o:只输出匹配的内容
  • -w:精确匹配过滤的字符串

常用使用案例

grep "cpu" cpuinfo # 输出文件中包含cpu的行
grep -v "cpu" cpuinfo # 输出文件中不包含cpu的行
grep -n "cpu" cpuinfo # 输出文件中包含cpu的行及行号
grep -c "cpu" cpuinfo # 输出文件中匹配cpu字符串的数量
grep -o "cpu" cpuinfo # 只输出匹配的内容cpu
grep -w "cpu" cpuinfo # 只匹配cpu这个单词的行
复制代码

vim

如果要查找某个字符串的位置,也可以使用vi/vim命令的搜索功能:

方法如下:

1、命令模式下输入“/字符串”,例如“/cpu”

2、输入“n”查找下一个,输入"N"查找上一个。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/709803.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二叉树——二叉树所有路径

二叉树所有路径 给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 示例 1: 输入:root [1,2,3,null,5] 输出:["1->2->5","1-…

华为云项目部署

前端部署 将dist文件夹下的内容拷贝到/usr/local/nginx/html下 #启动脚本是在 # /usr/local/nginx/sbin/nginx #启动 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf #停止 /usr/local/nginx/sbin/nginx -s stop #重载 /usr/local/nginx/sbin/nginx -s rel…

Go语言必知必会100问题-10 小心类型嵌入导致的问题

小心类型嵌入导致的问题 在定义结构体时,Go语言支持通过类型嵌入的形式定义结构体字段。但是,如果我们没有真正理解类型嵌入的意义,有时可能会导致意想不到的行为。本文将主要分析如何嵌入类型,类型嵌入的作用以及可能出现的问题…

Linux之定时任务02

一、什么是crond Linux 中 crond 就是定时任务,即根据 crond 指定的时间,由系统按指定的时间,周期性,自动触发的事件。 crond 服务在默认的情况下会每分钟检查系统中是否有定时任务,如果有且符合触发条件,…

vue前端使用get方式获取api接口数据 亲测

// GET请求示例 axios.get(‘http://127.0.0.1:5005/ReadIDCardInfo’) // 将URL替换为真正的API接口地址 .then(response > { if(response.data.code1){ var jsonDataresponse.data.data; console.log(jsonData); // 输出从API接口返回的数据 } }) .catch(error > { con…

MySQL(基础篇)——事务

一.事务简介 事务是一组操作的集合,他是一个不可分割的单位,事务会把所有的操作作色一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 默认MySQL的事务是自动提交的,也就是说&#xff0c…

VS Code常用快捷键

前言 对于开发者而言,熟悉快捷键的使用,能够起到事半功倍的作用,提高工作效率。以下是我整理的一份VS Code常用快捷键清单,希望能够帮助到你,欢迎在评论区留下你的常用快捷键🤞。 设置VS Code中的键盘快捷…

抖音视频评论提取软件|视频数据批量采集工具

抖音视频评论批量下载软件是一款基于C#开发的高效工具,旨在帮助用户快速获取抖音视频评论数据。无论您是市场分析师、社交媒体管理者还是数据研究人员,这款软件都会成为您工作中不可或缺的利器。 软件的关键功能包括: 关键词搜索&#xff1…

AI智能电销机器人效果怎么样?呼叫部署

我们的生活早已变得无处不智能,从智能手机到无人车、虚拟VR到智能家居,你迎接的每一个清晨、享受的每一个夜晚,可能都离不开智能设备的服务。 工作中,智能化产业也正在影响着企业,电销机器人正在帮助各大企业获得更高的…

【Unity】如何设置Unity脚本的执行顺序?

在 Unity 编辑器中设置脚本执行顺序 在 Unity 中,如果有多个脚本,并且它们之间的执行顺序很重要,可以通过编辑器设置来确保它们按照自己期望的顺序执行。这对于确保某些脚本在其他脚本之前执行非常有用。在这篇文章中,将向会展示如…

2024年腾讯云十大优惠活动汇总(附云服务器价格表)

腾讯云服务器多少钱一年?62元一年起,2核2G3M配置,腾讯云2核4G5M轻量应用服务器218元一年、756元3年,4核16G12M服务器32元1个月、312元一年,8核32G22M服务器115元1个月、345元3个月,腾讯云服务器网txyfwq.co…

金三银四,自动化测试面试题精选【美团二面】

面试一般分为技术面和hr面,形式的话很少有群面,少部分企业可能会有一个交叉面,不过总的来说,技术面基本就是考察你的专业技术水平的,hr面的话主要是看这个人的综合素质以及家庭情况符不符合公司要求,一般来…

golang 泛型详解

目录 概念 ~int vs .int 常见的用途和错误 结论: 概念 Go 在1.18 中添加了泛型,这样Go 就可以在定义时不定义类型,而是在使用时进行类型的定义,并且还可以在编译期间对参数类型进行校验。Go 目前只支持泛型方法,还…

Machine Vision Technology:Lecture2 Linear filtering

Machine Vision Technology:Lecture2 Linear filtering Types of ImagesImage denoising图像去噪Defining convolution卷积的定义Key properties卷积的关键属性卷积的其它属性Annoying details卷积练习Sharpening锐化Gaussian KernelNoise噪声 分类Gaussian noise高…

HTTP详解(HTTP的特点,状态码,工作原理,GET和POST的区别,如何解决无状态通信)!!!

文章目录 一、HTTP协议简介二、HTTP的主要特点三、HTTP之URL四、Request和Respons五、HTTP的状态码六、HTTP工作原理七、GET和POST请求的区别八、解决HTTP无状态通信——Cookie和Session 一、HTTP协议简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议&…

iOS App冷启动优化:Before Main阶段

iOS应用冷启动时,在 UIApplicationMain(argc, argv, nil, appDelegateClassName)方法执行前,主要经历以下阶段: 1. 执行exec()启动应用程序进程 2. 加载可执行文件,即将应用程序的Mach-O文件加载到内存…

31-树-找树左下角的值

这是树的第31篇算法,力扣链接。 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1 拿到这道题的第一想法,我可以层级遍历选取最左节点。 func f…

R语言数据可视化之美专业图表绘制指南(增强版):第1章 R语言编程与绘图基础

第1章 R语言编程与绘图基础 目录 第1章 R语言编程与绘图基础前言1.1 学术图表的基本概念1.1.1 学术图表的基本作用1.1.2基本类别1.1.3 学术图表的绘制原则 1.2 你为什么要选择R1.3 安装 前言 这是我第一次在博客里展示学习中国作者的教材的笔记。我选择这本书的依据是作者同时…

C#学习:初识各类应用程序

编写我们第一个程序——Hello,World! 1.编程不是“学”出来的,而是“练”出来的 2.在反复应用中积累,忽然有一天就会顿悟 3.学习原则: 3.1从感官到原理 3.2从使用别人的到创建自己的 3.3必需亲自动手 3.4必需学以致用,紧跟实际…

计算机网络原理--传输层

🎥 个人主页:Dikz12📕格言:那些在暗处执拗生长的花,终有一日会馥郁传香欢迎大家👍点赞✍评论⭐收藏 目录 TCP/IP五层(或四层)模型 传输层 TCP和UDP的区别 UDP协议 校验和 如何…