/bin /usr/bin 和 /usr/local/bin 的故事

2019-11-18 15:36:10 +08:00
 scriptB0y

一直搞不清 binary 应该放在哪,周末研究了下。

Long story short,就是一开始 Unix 的开发者是用 / 的,后来磁盘不够用了,就加了 /usr,再后来又不够用了,就加了个 /home 存放真正的 user 文件,但是 /bin 和 /usr/bin 后来就有了不同的解释...

关于详细的故事和解释,分享下原文: https://www.kawabangga.com/posts/3777

4960 次点击
所在节点    Linux
16 条回复
littleshy
2019-11-18 15:51:16 +08:00
到底 usr 是不是 user 的缩写?
scukmh
2019-11-18 15:51:19 +08:00
有点意思。
lazyfighter
2019-11-18 15:59:03 +08:00
@littleshy 同好奇
joshua7v
2019-11-18 16:02:48 +08:00
usr 不是 Unix System Resources 的缩写么
scriptB0y
2019-11-18 16:12:27 +08:00
@littleshy
@joshua7v
@lazyfighter

中午正好在 TLDP 看到这段解释。 /usr 是存放用户数据的地方,相对于系统数据。但是范围有所演变:

“所有和用户相关的东西” --> “所有用户的 程序和数据”

所以,一开始 /usr 的意义确实是 User 的,根据现在存放的东西,有些人就解释成:User System Resources

Source:
> In current Unices, /usr is where user-land programs and data (as opposed to 'system land' programs and data) are. The name hasn't changed, but it's meaning has narrowed and lengthened from "everything user related" to "user usable programs and data". As such, some people may now refer to this directory as meaning 'User System Resources' and not 'user' as was originally intended.

https://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/usr.html
Beebird
2019-11-18 16:13:06 +08:00
Unix 里头好多典故,我也补一个,一些 Unix 系统比如 Solaris 有些程序放在 /usr/ucb 目录, 开始不明所以,后来才知道这个 ucb 是 University of California, Berkeley 的缩写。这应该也算是 ucb 在计算机科学发展史上留下的烙印之一吧。
jasonyang9
2019-11-18 16:14:45 +08:00
sysfs,就是`/sys`,和`/proc`也有很多类似的典故,反正就是个大杂烩系统,历史包袱沉重
Rasphino
2019-11-18 16:17:13 +08:00
不是 binary 一般放在 /opt 里,自己 make install 的程序在 /usr/local/bin 里吗
scriptB0y
2019-11-18 16:20:37 +08:00
@Rasphino 是的,我在文中也说了:

> Anyway,自从有了这两个文件夹,人们便开始赋予它们含义:/ 用来存放上游的文件,/usr 放本地的内容;后来演变成 / 放从 AT&T 官方发行的内容,/usr 放发行版的内容,那时是 IBM AIX 或 Dec Ultrix,/usr/local 放自己本地的内容;再后来人们觉得 /usr/local 放安装的新 package 不够好,那再加一个 /opt ! 将来说不定还有 /opt/local。
abmin521
2019-11-18 20:46:53 +08:00
@jasonyang9 不妨详谈?
LFUNWF
2019-11-18 23:37:47 +08:00
还有~/bin
scriptB0y
2019-11-19 09:20:01 +08:00
@LFUNWF 这个就是用户自己加的了吧
LFUNWF
2019-11-19 12:53:07 +08:00
@scriptB0y 精通 linux 第二版作者电脑的 path 里有,别的地方没看到过。
scriptB0y
2019-11-19 14:07:41 +08:00
@LFUNWF 嗯 我也有这个的。放我自己写的一些脚本
scriptB0y
2019-11-19 14:07:46 +08:00
MrBearAndFlower
2019-12-24 13:47:32 +08:00
@littleshy 我还以为是 Unix Software Resource 呢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/620689

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX