可能重复:
Linux 文件系统
正如标题所说,顶级 linux/unix 目录的预期用途是什么?它们应该包含什么?它们的名称是什么意思?例如 /var /etc /opt /usr
是否有适用于 Unix 和 Linux 所有风格/版本/发行版的权威指南?
在我看来,这些目录/文件夹的用途以及其中应包含的内容是任意的。
Unix 和 Linux 变体的开发人员/创建者对于设计和命名有何想法?
我问这个问题不是为了学术讨论,而是为了更好地理解这个系统,以促进:
- 更高效、更清洁、更精确、可重复的维护和增强
- 更快、更有效地解决问题
- 更快、更有效地管理设施
- 更快地找到某些文件
- 编写独立于平台 / 发行版的应用程序,安装在正确的位置,例如可以在任何 Linux 发行版上运行
我还想要这些子目录的答案,例如 /usr/lib /usr/local/ /var/lib 等等...请。
我知道还有其他因素会影响上述项目,但我只是在这里寻找我的问题的答案。
提前致谢。
答案1
你正在寻找的是文件系统层次标准。您提出的所有问题的答案均在 FHS 中提供。
关于编写符合任何 Linux 发行版的应用程序,您可能还需要查看XDG 基础目录规范. 它更加面向桌面/用户。
答案2
答案3
有一个标准结构叫做文件系统层次标准(FHS)。有些 Linux 发行版遵守它,有些则不遵守。
简单来说,当谈到 /usr 和 /var 时,可以说 /usr 是用户安装的不会改变的文件,而 /var 是会改变的文件(假脱机、格式化文档)。这样,您就可以通过网络安装 /usr,并让多台计算机共享“静态”/usr/,并让本地 /var 存放“动态”文件。
摘自《Linux 系统管理员指南》: http://tldp.org/LDP/sag/html/dir-tree-overview.html
/usr/lib
程序和子系统的不变数据文件,包括一些站点范围的配置文件。名称 lib 源自 library;最初编程子程序库存储在 /usr/lib 中。
/usr/本地
本地安装的软件和其他文件的位置。发行版不得在此处安装任何内容。它仅供本地管理员使用。这样,他就可以绝对确定,对他的发行版进行的任何更新或升级都不会覆盖他本地安装的任何额外软件。
/var/lib
系统正常运行时发生变化的文件。
您可以在以下网址阅读更多内容http://tldp.org/LDP/sag/html/dir-tree-overview.html如果您想了解其他目录。