四个查找命令find,locate,whereis,which的区别
find最强大,但是检索硬盘,比较慢;
whereis只能查二进制文件、说明文档,源文件等;
locate能查所有文件,但跟whereis一样都是查数据库里的内容,速度快,但有延时;
which 只能寻找执行文件 ,并在PATH变量里面寻找。
阿舍在用指令操作Ubuntu的时候,经常会需要知道档案的路径,所以,也就常常会用到搜寻档案的指令,阿舍比较常用的是whereis和find,其实,还有locate和which二个指令可用,这四个指令都有不同的功能,阿舍一直时间去搞清楚,今天花了点时间,就把它整理如下了。
find 这个算是功能最多的指令,可以用依档名、拥有者、群组和权限...等等一堆来搜寻档案,不过,find指令是一定要指定搜寻的路径,否则就只有搜寻目前所在的资料夹,例如,阿舍在家目录用find hosts的指令来搜寻hosts档的话,就一定找不到东西,如果改用find /etc hosts的话,就会出现一堆档案名称里有hosts这个四个字的所有档案出来,如果再改成sudo find /etc -name hosts就会找出更接近我们要找的档案列表出来的。
locate 这个指令和其他三个指令不同的地方是,locate指令并不是宜的去搜寻档案,而是去搜寻由updatedb指令所建立和更新的资料库并读入记忆体中,所以,locate指令的搜寻速度远比其他的指令来的快,因此,当阿舍执行locate hosts指令后,几乎是马上就列出档案名称里有hosts这个四个字的所有档案出来哩!不过,通常优点都是来自弱点,只要是安装之后,在还没有执行updatedb之前,这些新的档案用locate指令是找不到的。
whereis 这个指令只会搜寻几个特定的路径,像是/usr、/bin或/etc等,适合用来搜寻Ubuntu的执行档和原始档及man说明,如果用whereis host来搜寻host档,就能够找出需要的结果,如果用来搜寻家目录的档案,就会找不到的。
which 这个指令搜寻的范围比前一个的whereis更小,which指令只用来搜寻Ubuntu/Linux的指令程式,如果,阿舍用which hosts的指令来找hosts的话,很抱歉喔!一定是找不到的,因为hosts不是指令,那么如果阿舍改成which which或which php5的话,马上就会有结果跑出来,因为which和php5都是指令哩!
这样整理下来,阿舍的结论是,要快就用locate,要准就用find,要查系统档案就用whereis,要查指令就用which,怕麻烦的话,就只要好好学会find指令就可以了。
四个查找命令find,locate,whereis,which的区别的更多相关文章
- Linux的五个查找命令find,locate,whereis,which,type
Linux的五个查找命令 1. find 最常见且最强大的命令,可以查找任何文件. 格式 $ find 指定目录 指定条件 指定动作 指定目录: 所要搜索的目录及其子目录,默认当前目录 ...
- 查找命令which、whereis、locate
1.find 最常用和最强大的查找命令.它能做到实时查找,精确查找,但速度慢. find的使用格式如下: $ find [指定目录] [指定条件] [指定动作] 指定目录:是指所要搜索的目录和其子 ...
- Linux下4个查找命令which、whereis、locate、find的总结
(1)which [-a] cmdname1 cmdname2 ...... 作用:locate a command,从环境变量PATH中,定位/返回与指定名字相匹配的可执行文件所在的路径 ...
- Linux下的查找命令which、whereis、locate、find(6/20)
Linux下查找相关命令主要有以下4个:which.whereis.locate.find. (1)which [-a] cmdname1 cmdname2 ...... 命令参数: -n ...
- Linux下查找命令 —— find、grep、 which、 whereis、 locate
find命令 基本格式 find < path > < expression > < cmd > ''' path: 所要搜索的目录及其所有子目录.默认为当前目录. ...
- Linux系列之查找命令
前言 Linux 有四个常用的查找命令:locate.whereis.which 和 find.本文介绍它们的区别和简单用法. locate命令 这个命令将检查你的整个文件系统,并找到该关键词的每一次 ...
- Linux下的五个查找命令:grep、find、locate、whereis、which
原文转自 http://www.cnblogs.com/wanqieddy/archive/2011/07/15/2107071.html 1.grep grep(General Regular Ex ...
- Linux的五个查找命令(find、locate、whereis、which、type)
1. find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> ...
- Linux下相关查找文件命令(find locate which whereis type)
以下内容摘自:http://blog.csdn.net/jessica1201/article/details/8139249 标注的内容为自己的补充: 我们经常需要在系统中查找一个文件,那么在lin ...
随机推荐
- 去除手机端触摸滑动事件ontouchmove
window.ontouchmove=function(e){ e.preventDefault && e.preventDefault(); e.returnValue=false; ...
- http://blog.csdn.net/hitmediaman/article/details/6636402
http://blog.csdn.net/hitmediaman/article/details/6636402
- iOS Xcode个人常用插件
1.AdjustFontSize 按command +/-进行字体大小调整 2.ATProperty @property专用,strong.assign.copy.weak IBOutlet 3.Ba ...
- Jenkins启动时报错:java.net.BindException: Address already in use: bind 解决方法
下载jenkins.war包后,进入Jenkins.war包目录下,运行java -jar jenkins.war时报端口被占用的错误:java.net.BindException: Address ...
- three.js运动
<!DOCTYPE html> <html> <head> <title>Example 01.04 - Materials, light and an ...
- Windows CMD命令大全
http://greatverve.cnblogs.com/archive/2011/12/09/windows-cmd.html 命令简介 cmd是command的缩写.即命令行 . 虽然随着计算机 ...
- 【原】MAC显示隐藏文件夹命令
显示隐藏文件夹 1. 显示:defaults write com.apple.finder AppleShowAllFiles -bool true 第一步:命令行执行上述命令:
- 经典收藏 50个jQuery Mobile开发技巧集萃
http://www.cnblogs.com/chu888chu888/archive/2011/11/10/2244181.html 1.Backbone移动实例 这是在Safari中运行的一款Ba ...
- BZOJ3514 : Codechef MARCH14 GERALD07加强版
以边编号为权值 用Link-cut Tree维护最大生成树 对于新加的第i条边(u,v) a[i]表示当a[i]这条边加入后连通块个数会减少 若u==v则a[i]=m 若u与v不连通则连上,a[i]= ...
- 【转】Android之自定义Adapter的ListView
http://www.cnblogs.com/topcoderliu/archive/2011/05/07/2039862.html 在开发中,我们经常使用到ListView这个控件.Android的 ...