Linux中与文件定位的命令有find、locate、whereis、which,type。
find命令最强,能搜索各种场景下的文件,需要配合相关参数,搜索速度慢。在文件系统中递归查找文件。
find /path/to/search -name "filename"
locate:快速查找文件,需要先建立数据库(通常由updatedb命令更新),其索引数据库在/var/lib/mlocate/mlocate.db。查看locate在哪个安装包中:rpm -qf `which locate`
例:locate filename ——只要包含文件名的文件都能搜定位到路径。
whereis命令是查找二进制、源码和man页面对应的文件。whereis命令也是基于updatedb命令所生成的索引库文件进行搜索,他与locate的区别在于不关心那些相同名称的文件,仅仅是快速找到对应的命令文件及其帮助文件所在的位置。
例:whereis ls
which 查找执行文件(在PATH变量指定的目录中)。仅仅只查询可执行文件用which最合适。
which ls
type可以确定可执行文件是否内置命令,也可以定位可执行的路径。、
例:type cd