Linux下/usr/local/lib 和 /usr/lib 里的内容有什么区别?

环境是Ubuntu14.04, 使用命令which python3 的时候, 得到一个链接:

/usr/local/bin/python3

指向:

/usr/local/lib/python3.4

然而, 在/usr/lib/ 下, 尽然也存在一个这样的非空python3文件夹

/usr/lib/python3.4

想问一下, 为什么会存在两个这样的文件夹 ?哪一个才是有效的, 或者都是有效的吗?

谢谢.

阅读 15.8k
2 个回答

有个小典故不知道题主是否知道,usr的并不是user的意思,而是unix system resrouces,这一点有助于理解/usr这个子文件系统。
/usr/bin:几乎所有的系统可执行文件都会安装在这里
/usr/local/bin:则是可以存放一些系统用户自己特定的可执行文件,不用担心会被系统升级之类的行为覆盖,破坏,这个目录不是必须的

希望有帮助~

在ubuntu下,直接通过apt-get安装的软件一般会在/usr下面,自己编译安装的软件(或者通过一些其他的非官方途径)会在/usr/local下面

两个文件夹都是有效的,主要是看路径配的是哪一个

以PATH举例来说,如果/usr/local/bin在前面,就会优先选用里面的对应的文件来执行;当然一般来说/usr/bin是默认在前面,或者干脆默认没有把/usr/local/bin放在路径里

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题