Linux学习---搜索命令

1.文件搜索命令locate

基本命令格式:locate -[ir] keyboard

参数:

  • -i,忽略大小写。
  • -r,后方接正则表达式(regex的含义)。

locate搜索:locate寻找到数据是由已经创建的数据库/var/lib/mlocate里面的数据查到的。由于不用直接去硬盘中搜索数据,因此速度很快。这也就导致了当我们删除一个文件或者新建一个文件的时候,有时候会找不到这个文件,必须手动更新/var/lib/mlocate这个数据库。命令:updatedb

updatedb:根据/etc/updatedb.conf中的设置去查找系统硬盘中的文件名,并更新/var/lib/mlocate内的数据文件。

我们现在看一下/etc/updatedb.conf文件:

这里写图片描述

可以看到,开头的yes说明/etc/updatedb.conf是生效的,下面PRUNEPATHS属性,说明后方所跟的路径是不在建立数据文件的范围内的。比如你在/tmp/下面建立一个新文件,即使updatedb了,也是无法locate找到的。

2.命令搜索命令

何为命令搜索命令?上面我们将locate是用来搜索文件的,而这里我们说的whichis和whereis是用来搜索命令所在位置的。
命令格式:whereis -[bmsu] 文件或者目录名

参数:

  • -b:只查找二进制格式的文件
  • -m:只查找在说明文件manual路径下的文件
  • -s:只查找source源文件
  • -u:查找不在上述三个选项中的其他特殊文件

这里我们主要区别一下locate和whereis、whichis,其实命令搜索命令也是文件搜索命令,不过whereis后面跟的是完整的文件名,而locate后面跟的是keyword,是部分文件名。除了文件名的不同,其他和locate都一样,也是从/var/lib/mlocate中查找数据。

3.find命令

基本命令格式:

find 【path】【option】【action】

例如:

find / -name passwd

上面这条命令说的是在/目录下查找文件名为passwd的文件。

再例如:
find /home -user vayne

查找/home目录下用户vayne的所有文件。

find的特殊功能是可以在查询结果之后接一些额外动作,例如我们要将查到的结果通过ll列出来:

find / -name passwd -exec ls -l {}\;
当然后面跟的【option】参数也可以是一个正则表达式,例如包含httpd的文件,其正则:‘*httpd*’。

{}:代表find命令查询到的结果,反斜杠\用来转义分号;。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值