Linux查找命令which、whereis、find、locate的区别

Linux命令which、whereis、find、locate的区别

这几个命令都具有查找功能,但在具体的使用情景上具有一些差异,较好的使用他们可以在shell操作时不那么手忙脚乱。

1.which

  • which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
  • 在使用which进行查找时,查找目标需要提前配置到环境变量中,否则查不出来。
  • 环境变量的配置,使用vim /etc/profile然后编辑profile文件即可

2.whereis

  • whereis命令只能用于程序名的搜索,如果省略参数,则返回所有信息。
  • 二进制文件(参数-b);
  • man说明文件(参数-m);
  • 源代码文件(参数-s)。

3.find

  • find是覆盖最全面的查找工具,但它在硬盘上遍历查找,非常消耗硬盘的资源,而且效率也很低,优先使用其他几个。
    find / 列出/目录和子目录下的所有文件和文件夹
    find / -name '*txt' 根据文件名或者正则表达式匹配搜索
    find / -iname '*txt' 同上,忽略大小写
    find / ! -name '*txt' 对上面的搜索结果取反
    find / -type d 根据文件类型搜索,d文件夹,f普通文件,etc
    find / -type f -size +2k 根据文件大小搜索,+2k大于2k的文件,-2k小于2k的文件,2k等于2k的文件
    find / -type f -name '*txt' -delete删除匹配到的文件

4.locate

  • 相当于find -name,但它是从数据库(/var/lib/locatedb)中查找,效率要比find高很多。
  • Linux系统自动创建locatedb,每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值