2021/08/18

[linux,Mac]whereis 和 which的差別

 知乎 linux命令which,whereis,locate,find的区别

which:常用于查找可直接执行的命令。只能查找可执行文件,该命令基本只在$PATH路径中搜索,查找范围最小,查找速度快。默认只返回第一个匹配的文件路径,通过选项 -a 可以返回所有匹配结果。

whereis:不只可以查找命令,其他文件类型都可以(man中说只能查命令、源文件和man文件,实际测试可以查大多数文件)。在$PATH路径基础上增加了一些系统目录的查找,查找范围比which稍大,查找速度快。可以通过 -b 选项,限定只搜索二进制文件。


我的理解:

which:

只找$PATH

whereis:

不只找$PATH,還找其他系統目錄中有無檔案


所以即便是這樣微小的差異,就有可能使得你

which Python3

whereis Python3 

有所區別

沒有留言:

張貼留言