linux文件名查找which,whereis,locate

1. 文件名查找


使用find查询时,由于磁盘查询,所以速度较慢,
所以linux下查询更常使用which, whereis, locate来查询,由于是利用数据库查询,所以速度很快。

2. which


我们常用的ls命令,如果我们想知道这些常用命令放在哪儿, 就使用which命令来查询地址。
which使用PATH 环境变量去查找文件名,
which -a 返回所有的查到的命令, 默认返回第一条。
$ which grep
/bin/grep

$ which ll
alias ll='ls -l --color=tty'
        /bin/ls
        #使用alias别名

3. whereis


whereis用来查询程序名
$ whereis
whereis [ -sbmu ] [ -SBM dir ... -f ] name...
-b : 查找二进制格式文件
-s : 查找source 源文件
-m : 查找在说明文件manual路径下的文件
-u : 查找不在上述三个选项中的特殊文件
例如
$ whereis grep
grep: /bin/grep /usr/share/man/man1/grep.1.gz /usr/share/man/man1p/grep.1p.gz

#查询二进制文件
$ whereis -b grep 
grep: /bin/grep

#查询手册说明文件 man grep 
$ whereis -m grep
grep: /usr/share/man/man1/grep.1.gz /usr/share/man/man1p/grep.1p.gz

3. locate


linux将系统内文件列在一个数据库文件(/var/lib/slocate/slocate.db)。
locate通过数据库文件查询。
一般这个文件每天更新一次, 配置在/etc/updatedb.conf
里面配置是否每天更新,以及更新目录。
可以手动运行
$ updatedb
来更新数据库。
使用locate,后面跟命令即可


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。