在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"查找上一个。

学习软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦。更多技术文章

软件测试基础学习 - Linux文件及文件内容查找命令总结相关推荐

  1. linux基础学习——linux的文件权限和目录配置

    linux基础学习--linux的文件权限和目录配置 1.用户和用户组和其他人概念: 三个概念的前提宗旨:linux是一个多人多任务的系统环境.如果不对文件作出一个权限限制的话.任何人都能操作这份文件 ...

  2. (转载)linux下的find文件查找命令与grep文件内容查找命令

    linux下的find文件查找命令与grep文件内容查找命令 转载于和感谢:linux下的find文件查找命令与grep文件内容查找命令 目录 1.前言 1.1 find命令和grep命令的区别 2. ...

  3. linux 查看文件的行,linux查看文件有多少行内容的命令介绍

    linux查看文件有多少行内容的命令介绍 发布时间:2020-04-07 09:59:31 来源:亿速云 阅读:170 作者:小新 今天小编给大家分享的是linux查看文件有多少行内容的命令介绍,很多 ...

  4. 零基础学习Linux(三)linux与windows文件共享

    上次的博文零基础学习Linux(一)环境搭建中我们已经将linux环境部署完毕了,接下来我们就可以在linux上进行软件的安装和环境的配置.但在进行这些操作之前,我们还需要解决一个问题--Linux与 ...

  5. linux复制文件快捷键,Linux基础学习(基本命令和文件操作)

    最近系统的学习Linux知识,想在此做个记录. 1.常用的快捷键 1.1 历史命令切换 Ctrl + P                    命令向上翻 Ctrl + N(Next)     命令向 ...

  6. linux 基础学习之目录与文件处理命令

    尼玛哥编写这些命令只是为了自己能够更好的学习linux也欢迎大家有空都来看看学习学习好的接下里咱们就开始学习下基本的文件与目录的管理 一 处理目录的常用命令 ls 列出目录 cd 切换目录 pwd 显 ...

  7. Python3 基础学习笔记 C09【文件和异常】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  8. 【Python】DS的基础学习笔记7:文件、异常和模块

    文章目录 文件.异常和模块 7.1 文件的读写 7.1.1 文件的打开 1. 文件路径 2. 打开模式 3. 字符编码 7.1.2 文件的读取 1. 读取整个内容--f.read() 2. 逐行进行读 ...

  9. linux下的find文件查找命令与grep文件内容查找命令(转)

    在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区别的. 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空, ...

最新文章

  1. 【CVPR Oral】TensorFlow实现StarGAN代码全部开源,1天训练完
  2. cdn收费方式有几种
  3. 资讯类产品的数据驱动增长方法论
  4. 如何在Excel中使用VB宏连接SAP系统
  5. MATLAB学习笔记——二维和三维绘图
  6. ERP仓库管理系统查询(十)
  7. 端对端场景测试的设计和改进
  8. 锁的等级:方法锁、对象锁、类锁。
  9. 苹果开发者中心上传APP屏幕快照
  10. Python Flask学习_使用flask-login实现认证蓝本(一)
  11. android虚拟机固定横屏幕竖屏,用VBox虚拟机安装Android 屏幕90度翻转竖屏设置
  12. CTB全球创新大挑战组队中 全新课题火热来袭
  13. 【记】Java 类属性首字母大写Response其结果为小写
  14. 一个不错的技术面试官是怎么样的?
  15. python调用企业微信接口
  16. CF924C Riverside Curio
  17. ios应用程序加载分析(二)
  18. 锌矿如何计算机每吨价格,锌精矿价格计算方法
  19. 字节跳动 | 游戏研发岗第一批笔试(题解)
  20. iView使用tree和回显

热门文章

  1. c语言课程设计--贪吃蛇
  2. 掌门教育们的在线教育直播授课老师,“被一张布困住了”
  3. 陕西二本计算机软件工程,高考分数不理想,仍然想报考软件工程专业,这四所二本大学不错...
  4. 使用GPO(Profile-Guided Optimization)优化程序
  5. Windows 小技巧10--Windows常见软件、系统配置
  6. 测试人员如何提高API功能测试效率?
  7. 红木整装——成为现代装修行业中的新宠
  8. 设计一个程序,帮助小学生练习10以内的加法题目
  9. centos 7搭建直播间
  10. Unity3d Ugui 17 Content Size Fitter