天天看点

linux中强大的查找命令学习笔记

作者:野兔狂奔追蜗牛

以ubuntu为例,常用的查找命令有whereis、which、locate和find,它们之间区别和用法如下:

whereis -b/m/s/u filname

#有bmsu等参数,一般用于查找路径。例如whereis shutter。

linux中强大的查找命令学习笔记

which 可执行文件

#一般用于查找可执行文件的路径。例如which shutter。

linux中强大的查找命令学习笔记

find [目录] -参数 [文件名,支持通配符*]

#功能非常强大!支持实时全盘搜索。例如sudo find / -name shutter全盘搜索shutter这个文件。当然也可以指定目录查找,修改参数为(/指定目录)。

find的参数功能非常强大,这里仅做最简单举例。注意提升权限,否则会报错权限不够。

linux中强大的查找命令学习笔记

tips:

通常情况下,用sudo find / -name filename就可以查询,但是有时候很奇怪会找不到,这时可以试试增加单引号。例如sudo find -name 'smb.conf'

locate -i filename

#查找命令。参数i表示忽略大小写,速度非常快,类似于windows里的everything,支持搜索中文文件名。

例如:locate -i smb.conf

linux中强大的查找命令学习笔记

tips:

注意:数据不是实时的!需要手动更新数据。运行sudo updatedb即可!

注意:该命令在ubuntu22.04版本内没有默认安装,需运行sudo apt install mlocate来安装。

总结

最常用的应该是find和locate两个命令。

find专业性强,可以设置各种参数,例如按文件的修改时间、所属权限查找等。可以在指定文件夹内搜索,实时全局搜索。

locate采用预先建立数据库的办法,搜索结果非常快,但是数据不是实时更新的,需要手工更新!记得运行sudo updatedb!

which可以查找可执行文件的位置,这个在设置某些软件参数时非常有用!

whereis参数也非常复杂,还有待学习。

继续阅读