小工具知识网

当前位置: 首页 > 行业知识 > linux文件及文件内容查找命令总结

行业知识

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

2026-10-20 10:41:31 来源:互联网转载

在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天内访问过的文件复制代码

        总结,这三个命令都是查找文件的,whereis及locate都是基于系统内建的数据库进行搜索,因此效率很高,而find则是遍历硬盘查找真实的文件,所以资源消耗比较大,速度慢。查找一般文件优先使用whereis和locate,两个都搜索不到或者需要使用更多条件搜索再使用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 # 只输出匹配的内容cpugrep -w "cpu" cpuinfo # 只匹配cpu这个单词的行复制代码

          vim

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

          方法如下:

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

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

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

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

上一篇:长沙市房屋合同网签备案

下一篇:如何给软件服务器扩容?