分享一个 linux 技能飞书话题群的一个问题。
问:
在linux系统里,普通用户目录是在 /home 下,root用户目录在 /root,因此全部用户共享目录的。
那如果我们要装一个东西的话,是不是只用装一遍?(比如说ohmyzsh之类的)
我之前在自己服务器上,每次都需要安装两遍,一次只有当前那个用户生效,这是为什么呢?
答:
不一定,当我们说我们在 linux 装了一个东西,指的是:「我们装了一个命令,可全局执行」。此时是将该命令放在了全局执行目录(或者将该命令目录放在了 $PATH
)。
而全局执行目录是 $PATH
环境变量,默认有以下路径(当然可以自己再添加)
可以看出来有全局目录,有用户目录(比如前两个路径)
如果你将该命令安装或者软链接到了全局目录,那确实是所有用户都会共享这个命令。否则不然。
哦对,PATH 该路径列表可自定义,而每一个用户都可以有独立的 PATH 环境变量。
所以,要看一个命令是所有用户共享还是仅对当前用户有效,具体要看该命令是怎么装的,可以看看 which command
进一步排查。