以ubuntu为例,常用的查找命令有whereis、which、locate和find,它们之间区别和用法如下:
whereis -b/m/s/u filname
#有bmsu等参数,一般用于查找路径。例如whereis shutter。
which 可执行文件
#一般用于查找可执行文件的路径。例如which shutter。
find [目录] -参数 [文件名,支持通配符*]
#功能非常强大!支持实时全盘搜索。例如sudo find / -name shutter全盘搜索shutter这个文件。当然也可以指定目录查找,修改参数为(/指定目录)。
find的参数功能非常强大,这里仅做最简单举例。注意提升权限,否则会报错权限不够。
tips:
通常情况下,用sudo find / -name filename就可以查询,但是有时候很奇怪会找不到,这时可以试试增加单引号。例如sudo find -name ‘smb.conf’
locate -i filename
#查找命令。参数i表示忽略大小写,速度非常快,类似于windows里的everything,支持搜索中文文件名。
例如:locate -i smb.conf
tips:
注意:数据不是实时的!需要手动更新数据。运行sudo updatedb即可!
注意:该命令在ubuntu22.04版本内没有默认安装,需运行sudo apt install mlocate来安装。
总结
最常用的应该是find和locate两个命令。
find专业性强,可以设置各种参数,例如按文件的修改时间、所属权限查找等。可以在指定文件夹内搜索,实时全局搜索。
locate采用预先建立数据库的办法,搜索结果非常快,但是数据不是实时更新的,需要手工更新!记得运行sudo updatedb!
which可以查找可执行文件的位置,这个在设置某些软件参数时非常有用!
whereis参数也非常复杂,还有待学习。