• which/whereis/whatis/locate/find的区别


    which--在$PATH目录下查找文件

    whereis--在预定目录下(whereis -l查看)查找文件

    whatis--将man手册NAME节区下的那句描述的话打印出来

    locate--在数据库中查找目录或文件

    find--遍历目录查找文件

    说明:

    1.关于which和whereis查找原理:

    都说which查找可行文件,whereis查找可执行文件、源码和man手册。经测试证明which和whereis都只是在设定的目录下简单地匹配字符串,并不会真的去确认找到的文件是不是真正的可执行文件、源码和man手册。

    2.关于which和whereis的区别:

    which:文件名完全匹配、有后缀名也不行、遍历$PATH、找到一个匹配的文件即退出。

    whereis:文件名完全配配、但可有后缀名、遍历包含$PATH的多个目录、找出所有匹配文件。

    3.关于whereis和locate是否使用同一数据库:

    有说whereis和locate都使用了数据库,由于whereis我们什么都没做就可以查到刚创的文件所以whereis用没用数据库不能确定;但基于下图中whereis可以查到而locate要updatedb后才能查到,可以推断whereis和locate不是使用同一数据库。

    4.关于使用locate和find查找文件的区别:

    locate:模糊查询、找目录和文件。locate查找以某字符串结尾的文件或目录:locate *network"。locate在指定目录下查找:locate "/etc/*network"

    find:完全匹配(可通过“*YourString*”形式模糊查询)、只找文件(可加-type d找目录)。

  • 相关阅读:
    7月自动化测试公开课通知
    招高级自动化测试工程师
    招聘软件开发工程师/开发实习生
    Selenium关键字驱动测试框架Demo(Java版)
    Eclipse+Selenium自动化测试脚本设计V1.0
    WebDriver基本API使用(基于Java)V1.0
    测试体系建设 免费咨询服务
    UFTQTP 12 新特性
    招聘自动化测试工程师
    AppScan学习笔记
  • 原文地址:https://www.cnblogs.com/lsdb/p/6510566.html
Copyright © 2020-2023  润新知