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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值