冷知识:bin、sbin 与 usr/bin、usr/sbin 目录的由来

冷知识:bin、sbin 与 usr/bin、usr/sbin 目录的由来

💡 原文中文,约2100字,阅读约需5分钟。
📝

内容提要

Linux/macOS 系统的目录结构(如 /bin、/sbin、/usr/bin、/usr/sbin)源于1970年代,最初为节省磁盘空间而设计。尽管技术进步使这种划分不再合理,但由于历史惯性仍被保留,导致系统复杂性增加。

🎯

关键要点

  • Linux/macOS 系统的目录结构源于1970年代,最初为节省磁盘空间而设计。
  • 根目录下的主要目录包括 /bin、/sbin、/usr/bin、/usr/sbin。
  • 这些目录的划分是历史遗留问题,并非经过特意设计。
  • 早期 Unix 系统运行在容量极小的硬盘上,导致需要将系统分散到多个目录。
  • 现代设备和 Linux 系统中,这种目录划分已不再合理。
  • 临时根文件系统解决了早期启动依赖的问题,不再需要通过目录结构区分启动阶段。
  • 共享库的引入使得程序和库之间的独立性降低,导致目录分离设计的意义减弱。
  • 如今的硬盘容量大幅增加,分区调整技术上也不再是问题。
  • 历史惯性导致现代 Linux 目录结构仍然保留了1970年代的设计,增加了系统复杂性。
  • 各发行版对目录的定义和规则不一致,缺乏统一逻辑,增加了复杂度。

延伸问答

为什么Linux和macOS的目录结构是这样的?

Linux和macOS的目录结构源于1970年代,最初是为了节省磁盘空间而设计的。

/bin和/usr/bin有什么区别?

/bin包含系统早期启动时需要的基本命令,而/usr/bin则是在系统启动完成后才能使用的命令。

现代Linux系统中,为什么这种目录划分已经不再合理?

现代设备的硬盘容量大幅增加,临时根文件系统解决了早期启动依赖的问题,目录划分的意义减弱。

共享库的引入对Linux目录结构有什么影响?

共享库的引入降低了程序和库之间的独立性,使得目录分离设计的意义减弱。

为什么说Linux的目录结构是历史遗留问题?

因为这些目录的划分并非经过特意设计,而是为了应对当时硬盘容量极小的技术限制而产生的。

各Linux发行版对目录的定义有什么不同?

各发行版对目录的定义和规则不一致,缺乏统一逻辑,增加了系统的复杂度。

➡️

继续阅读