四个查找命令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 ...
随机推荐
- POJ 1200 字符串HASH
题目链接:http://poj.org/problem?id=1200 题意:给定一个字符串,字符串只有NC个不同的字符,问这个字符串所有长度为N的子串有多少个不相同. 思路:字符串HASH,因为只有 ...
- Appium Java Windows环境搭建篇
1. 安卓SDK及配置环境变量 1.1.先下载sdk安装包:installer_r24.4.1-windows.exe 下载地址:链接: http://pan.baidu.com/s/1dEyPSa9 ...
- jquerymobile 基础教程
http://www.w3cplus.com/blog/tags/331.html?page=1
- 【面经】【转】C++类型转换
C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:type b = (type) a. C++风格的类型转换提供了4种类型转换操作符来应对不同场景的应用. const_cas ...
- 【noip暑假tarjan专题】
%%%奎老师 A:傻逼缩点...傻逼编译器卡我next... B:就是这道奎老师没讲清楚的题,明明小朋友们都一A嘛,,,明明细节有很多嘛,,,怎么都这么熟练啊. C:本质还是B,换了个马甲而已. D: ...
- Python基础9- 字典
#coding=utf8#字典由键和对应的值组成(键值对)--哈希表,字典元素也可以为空 dict1 = {'name':'kaly','age':20,'sex':'male'}dict2 = {} ...
- js中typeof与instanceof区别
今天写JS代码,遇到动态生成多个名称相同的input复选按钮 需要判断其是否是数组,用到了if (typeof(document.MapCheckMgr.checkid)!="undefin ...
- Windows CMD命令大全
http://greatverve.cnblogs.com/archive/2011/12/09/windows-cmd.html 命令简介 cmd是command的缩写.即命令行 . 虽然随着计算机 ...
- Excel: 公式
单元格内输入 = xx公式 e.g =EXACT(C2,D2) //比较两个单元格内的文本是否相同
- BZOJ2769 : YY的快速排序
将数字离散化并去重,则对于一对逆序对$i<j$,$a_i>a_j$,贡献为$\frac{2}{a_i-a_j+1}$,因此只要对于每个差值统计出对应的逆序对个数即可. 将序列分块,块内平方 ...