为什么 Linux 文件系统层次结构中没有 README?

为什么 Linux 文件系统层次结构中没有 README?

Linux 文件系统层次结构(FHS)包含很多重要的目录。例如,我刚刚/sys/class/input在玩 PS/2 键盘设置时发现。

但所有这些重要的目录都记录在其他地方,因此man /sys/class/input无法解释在某个时刻发生的情况。

为什么不将README文件放入层次结构中,以便人们更容易了解特定级别上发生的情况并使用其中的内容?如果设备甚至可以安装自己的README设备,那就太棒了。

答案1

使用您的示例:/sys/不包含“真实”文件,但完全由内核提供。您希望所有自述文件都成为内核的一部分吗?你可能不知道。

文档位于/usr/share/doc.其中包含硬盘上的普通文件。有关/sys和的一些文档/proc位于内核源代码中/usr/src/linux/Documentation(如果您已安装内核源代码,并为当前内核创建了符号链接)。

答案2

因为 Unix 和 Linux 有着数十年的记录传统man页面(并且,在 GNU 系统上,info文件...)。看男人(1),男人(7),手册页(7)。顺便说一句,man命令和页面是选修的(并且您不会在每个 Unix 系统上安装它们)。

文件系统层次结构描述于上级(7)

它的定义是文件系统层次结构标准可用于https://wiki.linuxfoundation.org/lsb/fhs

几个文件系统,特别是/proc/(参见过程(5))和/sys/(参见系统文件系统(5))是内核代码提供的伪文件系统。您不想使用生成此类README-s 的额外代码来使内核膨胀(这对绝大多数用户来说毫无用处)。就连内核的配置文件也只是可选地/proc/config.gz经常可用残疾人在大多数内核配置中。许多 Linux 系统都是嵌入式系统(例如您的智能手机、智能设备或物联网设备、RaspberryPI),其中资源非常稀少,无法避免浪费。

值得注意的是,/sys/对于系统管理员和编写低级实用程序的开发人员来说最有用,并且两者都应该能够适当地找到文档。

为什么不将README文件放入层次结构中以便人们更容易了解正在发生的事情

如果你真的想要这样README的,请编写你自己的可加载内核模块提供它们,或设置一些联盟提供他们。我认为这不值得付出努力(并且开启 unionfs/sys可能会减慢整个系统的速度)。

请记住,内核代码会消耗 RAM(它永远不会被调出并位于身体的内存,而不是虚拟内存),即使没有使用。所以避免让它膨胀是有道理的。

相关内容