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的区别的更多相关文章

  1. Linux的五个查找命令find,locate,whereis,which,type

    Linux的五个查找命令 1. find 最常见且最强大的命令,可以查找任何文件. 格式 $ find   指定目录   指定条件   指定动作   指定目录: 所要搜索的目录及其子目录,默认当前目录 ...

  2. 查找命令which、whereis、locate

      1.find 最常用和最强大的查找命令.它能做到实时查找,精确查找,但速度慢. find的使用格式如下: $ find [指定目录] [指定条件] [指定动作] 指定目录:是指所要搜索的目录和其子 ...

  3. Linux下4个查找命令which、whereis、locate、find的总结

    (1)which   [-a]    cmdname1 cmdname2 ...... 作用:locate a command,从环境变量PATH中,定位/返回与指定名字相匹配的可执行文件所在的路径 ...

  4. Linux下的查找命令which、whereis、locate、find(6/20)

    Linux下查找相关命令主要有以下4个:which.whereis.locate.find. (1)which   [-a]    cmdname1 cmdname2 ...... 命令参数: -n  ...

  5. Linux下查找命令 —— find、grep、 which、 whereis、 locate

    find命令 基本格式 find < path > < expression > < cmd > ''' path: 所要搜索的目录及其所有子目录.默认为当前目录. ...

  6. Linux系列之查找命令

    前言 Linux 有四个常用的查找命令:locate.whereis.which 和 find.本文介绍它们的区别和简单用法. locate命令 这个命令将检查你的整个文件系统,并找到该关键词的每一次 ...

  7. Linux下的五个查找命令:grep、find、locate、whereis、which

    原文转自 http://www.cnblogs.com/wanqieddy/archive/2011/07/15/2107071.html 1.grep grep(General Regular Ex ...

  8. Linux的五个查找命令(find、locate、whereis、which、type)

    1. find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> ...

  9. Linux下相关查找文件命令(find locate which whereis type)

    以下内容摘自:http://blog.csdn.net/jessica1201/article/details/8139249 标注的内容为自己的补充: 我们经常需要在系统中查找一个文件,那么在lin ...

随机推荐

  1. 分享Kali Linux 2016.2第47周虚拟机

    分享Kali Linux 2016.2第47周虚拟机该虚拟机使用Kali Linux 2016.2第47周的64位镜像安装而成.基本设置如下:(1)该系统默认设置单CPU双核,内存为2GB,硬盘为50 ...

  2. dubbox编译

    dubbox编译要在命令行 切记切记 设置JAVA_HOME 设置maven路径 命令编译dubbox 设置M2_HOME环境变量 设置idea M2_HOME dubbox 服务端 http://w ...

  3. 20145223《Java程序程序设计》第10周学习总结

    20145223<Java网络编程> 一.Java的网络编程 ·网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来. ·java.net包中J2SE的API包含有类 ...

  4. LIS(n^2) POJ 2533 Longest Ordered Subsequence

    题目传送门 题意:LIS(Longest Increasing Subsequence)裸题 分析:状态转移方程:dp[i] = max (dp[j]) + 1   (a[j] < a[i],1 ...

  5. CodeForceS#276-A

    A. Factory   One industrial factory is reforming working plan. The director suggested to set a mythi ...

  6. BZOJ2190 & 欧拉函数

    题意: 求1-n内互质数对个数 SOL: 裸欧拉函数,还有莫比乌斯反演的加速什么的,挖个坑. Code: /*============================================= ...

  7. ACM 水池数目

    水池数目 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地 ...

  8. 洛谷 P1198 [JSOI2008]最大数 Label:线段树

    题目描述 现在请求你维护一个数列,要求提供以下两种操作: 1. 查询操作. 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值. 限制:L不超过当前数列的长度. 2. 插入操作 ...

  9. 【JAVA】JAVA 反射

    在Java反射机制中,需要掌握的知识有:         (1)掌握反射机制的概述.         (2)能够使用Class类并结合java.lang.reflect包取得一个类的完整结构.     ...

  10. exp.validate.js

    简单实用的js基础数据验证 prototype /// <reference path="/Scripts/expand-fn/exp_validate.js" /> ...