• 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 来排除包含 # 的行,考虑到 # 不一定仅在行首,也可能在一行的中间,因此在#前加上 ^ 表示排除行首是 # 的行。

  • 相关阅读:
    MyBatisPlus学习(3)—— MyBatisPlus中的通用Service接口
    面试又卡在多线程?那就来分享几道 Java 多线程高频面试题,面试不用愁
    centos7 升级内核
    基于改进莱维飞行和混沌映射的粒子群优化BP神经网络预测股票价格研究(Matlab代码实现)
    so-vits-svc:AI翻唱,语音克隆
    个股与指数行情走势对比分析 !股票量化分析工具QTYX-V2.5.2
    plsql导入dmp文件:使用PL/SQL导入DMP文件,实现数据库的快速迁移
    分享超高清多机位现场直播间搭建方案
    python_data_analysis_and_mining_action-master-12
    构造-析构函数
  • 原文地址:https://blog.csdn.net/qq_45122293/article/details/125993998