• linux命令中find, which、whereis、locate,有什么区别?


    whatis 用于查询一个命令执行什么功能,并将查询结果打印到终端上
    which 查看可执行文件的位置
    whereis 查看文件的位置
    man Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可
    locate 配 合数据库查看文件位置
    find 实际搜寻硬盘查询文件名称
    type 用来区分某个命令是否是shell自带的

    1. whatis
      whatis 用于查询一个命令执行什么功能,并将查询结果打印到终端上
    whatis whatis
    whatis (1)           - display one-line manual page descr...
    
    whatis which
    which (1)            - locate a command
    
    whatis whereis
    whereis (1)          - locate the binary, source, and man...
    
    whatis man
    man (1)              - an interface to the on-line refere...
    man (7)              - macros to format man pages
    
    whatis locate
    locate (1)           - find files by name
    
    whatis find
    find (1)             - search for files in a directory hi...
    
    whatis type
    type: nothing appropriate.
    
    whatis who
    who (1)              - show who is logged on
    
    whatis top
    top (1)              - display Linux processes
    
    1. which
      which命令是查找这个命令是否存在系统中,以及命令存放的位置在哪儿.
    which whatis
    /usr/bin/whatis
    
    which which
    /usr/bin/which
    
    which whereis
    /usr/bin/whereis
    
    which man
    /usr/bin/man
    
    which locate
    /usr/bin/locate
    
    which find
    /usr/bin/find
    which type
    
    which ls
    /bin/ls
    
    which cat
    /bin/cat
    
    which top
    /usr/bin/top
    
    which python
    /usr/bin/python
    
    which python3
    /usr/bin/python3
    
    which pip
    /usr/bin/pip
    
    which mysql
    /usr/bin/mysql
    
    which mysqld
    /usr/sbin/mysqld
    
    which vim
    /usr/bin/vim
    
    which sqlite
    
    1. whereis
      whereis命令只能用于搜索程序名,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
    whereis whatis
    whatis: /usr/bin/whatis /usr/share/man/man1/whatis.1.gz
    
    whereis which
    which: /usr/bin/which /bin/which /usr/share/man/man1/which.1.gz
    
    whereis whereis
    whereis: /usr/bin/whereis /usr/share/man/man1/whereis.1.gz
    
    whereis man
    man: /usr/bin/man /usr/local/man /usr/share/man /usr/share/man/man1/man.1.gz /usr/share/man/man7/man.7.gz
    
    whereis locate
    locate: /usr/bin/locate /usr/share/man/man1/locate.1.gz
    
    whereis find
    find: /usr/bin/find /usr/share/man/man1/find.1.gz /usr/share/info/find.info.gz
    
    whereis type
    type:
    
    whereis vim
    vim: /usr/bin/vim.basic /usr/bin/vim /usr/bin/vim.tiny /etc/vim /usr/share/vim /usr/share/man/man1/vim.1.gz
    
    whereis mysql
    mysql: /usr/bin/mysql /usr/lib/mysql /etc/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
    
    whereis mysqld -b
    mysqld: /usr/sbin/mysqld /usr/share/man/man8/mysqld.8.gz
    
    whereis mysqld 
    mysqld: /usr/sbin/mysqld /usr/share/man/man8/mysqld.8.gz
    
    whereis python
    python: /usr/bin/python /usr/bin/python3.5m /usr/bin/python3.5 /usr/bin/python2.7 /usr/bin/python2.7-config /usr/lib/python3.5 /usr/lib/python2.7 /etc/python /etc/python3.5 /etc/python2.7 /usr/local/lib/python3.5 /usr/local/lib/python2.7 /usr/include/python3.5m /usr/include/python2.7 /usr/share/python /usr/share/man/man1/python.1.gz
    
    whereis python2
    python2: /usr/bin/python2 /usr/bin/python2.7 /usr/bin/python2.7-config /usr/lib/python2.7 /etc/python2.7 /usr/local/lib/python2.7 /usr/include/python2.7 /usr/share/man/man1/python2.1.gz
    
    whereis python3
    python3: /usr/bin/python3.5m /usr/bin/python3 /usr/bin/python3.5 /usr/lib/python3 /usr/lib/python3.5 /etc/python3 /etc/python3.5 /usr/local/lib/python3.5 /usr/include/python3.5m /usr/share/python3 /usr/share/man/man1/python3.1.gz
    
    
    1. man
      man 是 Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上
    man whatis
    output a lot
    man which
    output a lot
    man whereis
    output a lot
    man man
    output a lot
    man locate
    output a lot
    man find
    output a lot
    man type
    No manual entry for type
    
    1. locate
        locate命令不是实时查找,所以查找的结果不精确,但查找速度很快。因为它查找的不是目录,而是一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
    sudo updatedb
    
    locate whatis
    output a lot
    
    locate which
    output a lot
    
    locate whereis
    /usr/bin/whereis
    /usr/share/bash-completion/completions/whereis
    /usr/share/man/man1/whereis.1.gz
    
    locate man
    output a lot
    
    locate locate
    output a lot
    
    locate find
    output a lot
    
    locate type
    output a lot
    
    locate passwd
    will output a lot
    
    locate -n 5 passwd
    /etc/passwd
    /etc/passwd-
    /etc/cron.daily/passwd
    /etc/init/passwd.conf
    /etc/pam.d/chpasswd
    
    locate vim
    output a lot
    
    1. find
        find是最常用和最强大的查找命令。它能做到实时查找,精确查找,但速度慢。
        find的使用格式如下:
        #find [指定目录] [指定条件] [指定动作]
        指定目录:是指所要搜索的目录和其子目录。如果不指定,则默认为当前目录。
        指定条件:是指所要搜索的文件的特点。
        指定动作:是指对搜索的结果如何处理。
        常见选项:
        -name 根据文件名称查找(严格区分大小写,如果文件名中间有空格,则必须把文件名用双引号引起来)
        -iname 根据文件名查找(不区分大小写)
        -regex “PATTERN” 正则表达式匹配
        -user 根据文件属主进行查找
        -group 根据文件属组进行查找
        -uid 根据文件的uid查找
        -gid 根据用户的gid查找
        -nouser 查看所有的没有属主的文件
        -nogroup 查看所有的没有属组的文件
    find whatis
    find: ‘whatis’: No such file or directory
    find which
    find: ‘which’: No such file or directory
    find whereis
    find: ‘whereis’: No such file or directory
    find man
    find: ‘man’: No such file or directory
    find locate
    find: ‘locate’: No such file or directory
    find find
    find: ‘find’: No such file or directory
    find type
    find: ‘type’: No such file or directory
    
    
    1. type
        type命令用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。
    type whatis
    whatis is hashed (/usr/bin/whatis)
    
    type which
    which is hashed (/usr/bin/which)
    
    type whereis
    whereis is hashed (/usr/bin/whereis)
    
    type man
    man is hashed (/usr/bin/man)
    
    type locate
    locate is hashed (/usr/bin/locate)
    
    type find
    find is hashed (/usr/bin/find)
    
    type type
    type is a shell builtin
    
    type cd
    cd is a shell builtin
    
    type grep
    grep is aliased to `grep --color=auto'
    
    type cat
    cat is /bin/cat
    
    type vim
    vim is hashed (/usr/bin/vim)
    
    type -p vim
    /usr/bin/vim
    
    type python
    python is /usr/bin/python
    
  • 相关阅读:
    #include <NOIP2009 Junior> 细胞分裂 ——using namespace wxl;
    【NOIP合并果子】uva 10954 add all【贪心】——yhx
    NOIP2010普及组T4 三国游戏——S.B.S.
    NOIP2010普及组T3 接水问题 ——S.B.S.
    NOIP2011提高组 聪明的质监员 -SilverN
    NOIP2010提高组 关押罪犯 -SilverN
    uva 1471 defence lines——yhx
    json2的基本用法
    获取对象的属性个数
    替换指定规则的字符串
  • 原文地址:https://www.cnblogs.com/vercont/p/10210156.html
Copyright © 2020-2023  润新知