每日命令 -- Day-9:which、whereis命令
which
- 格式
1
which [可执行文件]
- 功能:which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果
- 猜测:这里假设所谓PATH变量是和Windows里面的环境变量中Path一个性质,在命令行中直接执行命令的时候都会去这个变量中寻找文件的真实位置,所以安装一个软件之后如果找不到命令那是不是可以把它的对应关系添加到Path中,前面用的一个ln命令是不是就是往PATH里面添加了关联关系,当然也可以以别名的方式放到当前$SHELL配置中去
- 参数
- 常用命令
1
2
3
4<!--这个是最常用到的,找到NGINX的位置就可以找到它的配置文件(一般都在一起的)-->
which nginx
<!--这个比较有意思,在普通环境下执行会返回系统中安装的Python3的位置,在进入virtualenv之后执行会返回虚拟环境下python3的位置,通过这个命令可以确认虚拟环境使用的Python版本是否是自己想要的-->
which python3
whereis
- 格式
1
whereis [二进制文件、说明文件、源代码文件]
- 功能:whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置
- 参数
1
2
3
4
5
6
7-b 定位可执行文件
-m 定位帮助文件
-s 定位源代码文件
-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件
-B 指定搜索可执行文件的路径
-M 指定搜索帮助文件的路径
-S 指定搜索源代码文件的路径 - 对比which:whereis是在Linux的文件数据库(系统维护)中进行的搜索,速度很快,但有个问题是这个数据库的数据更新频率默认是一周一次,导致通过whereis命令进行搜索的时候值不会是绝对准确的
