• linux中文件搜索命令:locate,which,whereis,grep


     locate命令

    命令名: locate

    语法:locate 文件名

    功能:在文件资料库中查找文件

    例子1

    如上图,locate加文件名就可以查找文件。之前已经介绍过linux中的文件搜索命令find,但locate命令和find命令存在很大的不同,find命令直接在硬盘上进行查找,而locate命令则在文件资料库中进行查找,因此locate命令的查找速度更快。

    例子2

    如上图所示,先在root目录下创建一个新文件test0000,然后用locate命令查找该文件,结果表明该命令未能查到该文件。然后用find命令查找该文件,结果发现可以查到该文件。这是因为test0000是新建文件,而文件资料库中还没有该文件,所以此时用locate命令不能查找到该文件。我们可以用update命令手动更新文件资料库,之后便能通过locate命令查找到test0000文件。(文件资料库也会自动地定时更新)

    例子3

    需要注意的是,locate命令不能搜索到 /tmp 目录下的文件。如上图所示,创建一个新文件test1111,因为locate命令不能搜索到 /tmp 目录下的文件,因此即使用updatedb命令更新文件资料库,locate命令也不能查找到新建的test1111文件。

    例子4

    如上图所示,locate命令查找文件时区分文件名的大小写,添加 -i 后则不区分大小写。

    which命令

    命令名:which

    语法:which 命令

    功能:搜索命令所在目录以及别名信息

    例子5

     如上图所示,第一行画线处是说明 rm 命令是 rm -i 的别名。第二行画线是 rm 命令所在的位置。从第一行画线我们知道,我们所用的 rm 命令实际上是 rm -i 的别名,实际上 rm 命令并不具有删除前询问的功能,加上 -i 之后才具有删除前询问的功能。因此我们平时用的 rm 命令实际上是 rm -i.

    whereis命令

    命令名:whereis

    语法:whereis 命令名

    功能:搜索命令所在目录及帮助文档路径

     例子6

    如上图所示,whereis不仅能显示出该命令所在的位置,也能显示出该命令的帮助文档所在的位置。

    grep命令

    命令名:grep

    语法:gerp -iv [字符串] [文件]

    功能:在文件中搜索字符串匹配的某些行,并输出

                    -i 不区分大小写

                    -v 排除指定字符串

    例子7

    如上图所示,通过grep命令显示出 /etc/inittab 文件中包含 multi 的行。默认情况下区分字符串的大小写 ,加上 -i 则不区分大小写。

    例子8

    井号 # 后面一般跟的是注释,如果我们不想看注释则可以通过 -v 来排除包含 # 的行,考虑到 # 不一定仅在行首,也可能在一行的中间,因此在#前加上 ^ 表示排除行首是 # 的行。

  • 相关阅读:
    群晖7.2版本安装Jellyfin
    前端学习笔记——第三天
    《模型结构图绘制 -- Axure 软件使用教程》学习笔记
    oracle分组合并数值带顺序
    想要精通算法和SQL的成长之路 - 判断子序列问题
    spring boot 新建多模块项目
    Vue--Router--各个版本的事件监听
    Nacos全面知识 ----微服务 SpringCloud
    设计模式存在哪些关联关系,六种关系傻傻分不清--- UML图示详解
    基础算法之双指针
  • 原文地址:https://blog.csdn.net/qq_45122293/article/details/125993998