电脑计算机论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1196|回复: 0

Linux上的其它查找命令locate which

[复制链接]
admin 发表于 2018-2-8 14:41:15 | 显示全部楼层 |阅读模式
locate是 find命令的补充: locate命令自己有一个资料库(索引库),通过locate命令查找某个文件不需要指定查找范围,locate是直接在它自己的索引库中去查找,因此locate的查找速度是非常快的,locate的索引库包含了所有的系统目录以及大部分用户目录,只有一些特别的目录,例如 /tmp没有包括。

     而find 是在你指定的查找范围里遍历每一个文件去查找,所以find的查找速度是很慢的,而且非常的费cpu,但是find是时时的全部的遍历查找,因此find的查找也是最全的,缺点是速度慢,对机器cpu负载大。
    而locate就是 find的补充,如果你查找某个文件可以先用 locate查找,如果能查找到,你就不必用find那么费时的去查找了

   对于我们新建立一个文件,而这个文件还没有被更新到locate的索引库 ,这时 locate是查找不到的,但是我们可以手动更新索引库
# touch /root/Test.txt
# locate  Test.txt     结果没查到
#updatedb        (此条命令就是手动更新locate的索引库 )
  # locate Test.txt   这时就能找到了
# locate -i test.txt    -i 参数代表忽略大小写 ,所以这样也能查到

which  whereis  都是查找命令所在位置
#which  cp       查找cp命令别名及所在位置
#which  rm
#whereis cp       查找cp命令所在位置及帮助文件位置
#whereis useradd

grep   在某个文件里查找包含的某个字符串
# grep  multiuser   /etc/inittab    在  /etc/inittab文件里查找包含  multiuser的字符串 区分大小写
#grep  -i multiuser /etc/inittab    在  /etc/inittab文件里查找包含  multiuser的字符串 -i代表: 不区分大小写
#grep  -v #  /etc/inittab  在/etc/inittab文件中排除 含有#的行
#grep -v ^# /etc/inittabl 在 /etc/inittab文件中排除  行首是#的行
您需要登录后才可以回帖 登录 | 注册

本版积分规则


QQ|手机版|小黑屋|电脑计算机论坛 ( 京ICP备2022023538号-1 )

GMT+8, 2024-11-23 16:57 , Processed in 0.103213 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表