Linux下which、whereis、locate、find的区别是什么?

  我们经常会遇到一种情况,就是需要在Linux系统下查找某个文件或命令,但文件太多,我们不知道放在哪里了,可以使用以下命令进行搜索,以下是详细的内容:

  1、which

  语法: which可执行文件名称

  which是通过PATH环境变量到该路径内查找可执行文件,所以基本的功能是寻找可执行文件

  2、whereis

  语法: whereis [-bmsu] 文件或者目录名称

  和find相比,whereis查找的速度非常快,这是因为linux系统会将系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找,效率自然会很高。

  但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。

  3、locate

  语法:locate文件或者目录名称

  4、find

  语法:find 路径 参数

  时间查找参数:

  -atime n :将n*24小时内存取过的的文件列出来

  -ctime n :将n*24小时内改变、新增的文件或者目录列出来

  -mtime n :将n*24小时内修改过的文件或者目录列出

  -newer file :把比file还要新的文件列出来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值