命令:whereis、which、find、locate
1. whereis
root@server:~# whereis whereis
whereis: /usr/bin/whereis /usr/share/man/man1/whereis.1.gz
root@server:~# whereis find
find: /usr/bin/find /usr/share/man/man1/find.1.gz /usr/share/info/find.info.gz
root@server:~#
直接从数据库中查询,并且只能搜索二进制文件(-b)、man帮助文件(-m)、源代码文件(-s)。
2. locate
通过查询 /var/lib/mlocate/mlocate.db
数据库来检索信息。不过这个数据库也不是实时更新的,系统会使用定时任务每天自动执行 updatedb
命令来更新数据库。所以有时候你刚添加的文件,它可能会找不到,需要手动执行一次 updatedb
命令。注意这个命令也不是内置的命令,需要手动安装,然后执行更新。
root@server:~# sudo apt-get update
root@server:~# sudo apt-get install locate
root@server:~# sudo updatedb
root@server:~# locate /usr/share/\*.jpg #查找/usr/share/下所有jpg文件
root@server:~# locate /etc/sh #查找/etc下所有以sh开头的文件
/etc/shadow
/etc/shadow-
/etc/shells
/snap/core/8935/etc/shadow
/snap/core/8935/etc/shel