一直以来对类 Unix 系统都没有太深入的研究过, 许多问题不求甚解.
例如这个关于文件系统目录结构的问题:
/bin 和 /sbin 的区别是什么?
/bin 和 /usr/bin 有什么区别?
/lib 和 /var/lib 又有什么区别?
更奇怪的是为什么 /usr/local 里面又有一套 bin lib?
今天无意间在 hivelogic 的博客里找到了答案:
http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
以下标准不是硬性的, 也就是说每个变种都或多或少的有所违背, 但总体上还是保持尊重.
/ 根目录, 文件体系的入口.
/home 用户自己的根目录.
/root root 帐户的 home.
/bin binary 单用户模式必需的可执行文件, 也就是所有用户都要用到的.
/sbin system binary 系统必需的可执行文件.
/lib library 一些库文件, 供 /bin 和 /sbin 使用.
/etc 存放系统级别的配置文件. (et cetera 其他, 等等… 貌似是法文)
/boot 启动和初始化所需的文件.
/dev device 设备. 在 *nix 的概念中, 设备也是文件.
/media 可移动媒介安置点, 例如光驱和U盘.
/mnt 文件系统临时安置点. (不清楚和上一个的区别)
/opt optional 可选的应用程序软件包.
/tmp temp 临时文件, 重启消失.
/usr user 文件体系的第二级, 存放多用户应用程序,
/usr/local 文件体系的第三级. 在这里编译安装软件对系统的影响最小.
/var variable 易变的文件. 日志, 打印, 邮件等.
其中 /bin /usr/bin 和 /usr/local/bin 实际上是代表了三个阶层, 第一阶层所有用户通用, 第二阶层可以针对每个用户不同, 第三个阶层是用户之间相对独立的.