mac:查看命令行工具的安装等情况

查找某个软件(如:npm)的相关路径?

查看安装路径。
which命令只是根据PATH环境变量查找。

which nginx
# /usr/local/bin/nginx
which node
# /Users/luofang/.nvm/versions/node/v12.14.1/bin/node
which nginx
# /usr/local/bin/nginx
which npm
# /Users/luofang/.nvm/versions/node/v12.14.1/bin/npm

whereis根据标准可执行文件路径进行查找。
找的就是bin目录下的文件路径。

whereis java
# /usr/bin/java
whereis python
# /usr/bin/python

find:在系统中查找指定文件

find / -name xxx

ps: 通过查找进程的方法找到对应的包的路径

ps -ef|grep mysql
# 可以简写成 
pgrep mysql

locate: locate的功能和find类似。查找所有路径下的mysql文件。

locate mysql

查看系统全局变量path配置

Mac系统的环境变量,加载顺序为:
/etc/profile 【系统级别的,文件,系统启动就会加载】【不建议修改这个文件 】
/etc/paths【系统级别的,文件,系统启动就会加载】【全局建议修改这个文件 】
~/.bash_profile【用户级别】【这里里面已经存在,就不往后找】
~/.bash_login 【用户级别】
~/.profile【用户级别】
~/.bashrc【用户级别】【上述规则不受限制,只bash shell打开的时候载入的】

cat /etc/paths
# 结果
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

查看path

echo $PATH
/Users/luofang/.nvm/versions/node/v12.14.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:~/.dotnet/tools:/Library/Frameworks/Mono.framework/Versions/Current/Commands

上面有一个.nvm路径,可以看出系统中的node是有nvm进行版本管理的。当前的node版本为v12.14.1。当执行node命令时候,会默认到$PATH这些指定的路径下去查找tool,然后执行脚本。

subl /Users/luofang/.nvm/versions/node/v12.14.1/bin/node

发现这是一个系统执行文件文件。

subl /Users/luofang/.nvm/versions/node/v12.14.1/bin/node
# 文件内容如下
#!/usr/bin/env node
;(function() {
     
	# ...
	 var npm = require('../lib/npm.js')
	 # ...
	 npm.load(...);
})()

你可能感兴趣的:(linux/mac)