Linux 文件系统层次结构中的默认目录含义是什么?

Linux 文件系统层次结构中的默认目录含义是什么?

在安装了各种 Linux 发行版进行修改后,我对安装程序提供的分区布局感到困惑——为了简单的解决方法,我只需使用整个可用的磁盘空间。

一些分区的名称有些难以理解,包括/var交换/usr, 和/家安装程序并没有真正向我解释这些 - 它们有什么用途,如果有的话,应该使用哪一个?

答案1

关于目录名称的简短回答:man hier在终端中输入“ ”:)

这是文件系统层次结构的手册页,其中解释了目录名称的一般用途及其所包含的内容。您可以看到网络版本在这里

维基百科上还有更多阅读内容:

这些链接将解释有关分区名称、用途以及它们用于(或历史上)存储什么的一切。

关于使用独立分区而不是仅将目录放在同一分区中的答案又回到了可维护性和可扩展性。如果您有一个分区,例如,上面有//home,那么 Joe User 可以填满他的/home/joe文件夹,整个机器将耗尽磁盘空间并停止工作(我在这里简化了,但这是一般结果)。如果您在不同的分区上有//home,那么 Joe User 可以填满他的/home/joe文件夹,并且/home分区将填满,但机器将继续运行,因为/不受影响。

因此,将该原则扩展到不同分区上的几乎所有不同目录,您就会发现它是多么有用,特别是当一台机器以多用户和多服务角色全天候运行时。

答案2

在安装时,许多发行版都允许您将不同的目录放在不同的分区上。例如,许多用户选择将 /home 目录放在与安装的其余部分不同的分区上。这是因为 /home 目录中的所有内容都属于用户 - 文档、视频和所有其他用户特定数据都放在这里。通过将 /home 目录放在单独的分区上,将实际操作系统文件放在另一个分区上,如果用户决定全新安装 Linux 操作系统,他只需重写主分区并保持 /home 分区(及其所有文件)完好无损。

这也允许用户在不同的分区上安装多个 Linux 发行版,所有发行版共享同一个 /home 分区。这样,无论用户使用哪个 Linux 版本,都可以访问他的文件。

普通用户实际上不必过于担心分配单独的 /var、swap、/usr 等。所有这些目录都是操作系统的一部分,与用户的文件关系不大。

答案3

对于个人电脑来说,使用整个可用磁盘空间是一种非常有效(可能也是推荐的)的选择。在我看来,像这样对文件系统进行分区是一种古老的做法,在 RAID 或虚拟卷管理在软件中实用之前。

在类 UNIX 系统中,文件系统从根目录“/”开始。在 DOS/Windows 中,该目录为“C:”

在 DOS/Windows 中,您可以将驱动器添加到字母 D:、E: 等。在类 UNIX 系统中,您可以将驱动器“安装”到目录中。以前,当您有 10 或 10 兆字节硬盘时,您可以将各种目录安装在不同的驱动器和分区中,以产生单个大驱动器的幻觉。几乎是穷人的 RAID 0。

划分各种根目录的原因有很多,但一个流行的想法是,由于交换和 /var 分区写入次数最多,因此它们发生故障的可能性最高。通过将它们划分为不同的分区,只需从备份中添加另一个驱动器并重新安装它就很容易了。

如果您在一台机器上运行多个版本的 Linux,那么拥有一个单独的 /home 分区也是一件非常好的事情。(例​​如 Ubuntu 和 Red Hat)。因为 Unix/Linux 程序将用户的设置放在用户的主目录中。但这在理论上比在实践中要好得多。因为您需要彻底了解权限含义。

这里列出一些类UNIX操作系统的重要目录及其说明。

  • /bin- 基本系统可执行文件
  • /lib- 基本系统库(Linux 中为 .so,Windows 中为 .dll)。
  • /boot- 内核所在位置。没有这个,计算机就无法启动。
  • /var- 服务可以存储文件的目录。例如日志文件和邮箱
  • /etc- 系统配置文件
  • /usr- 非必要的用户应用程序。(Unix系统在没有 /usr 的情况下启动(用于恢复目的),但这不是很有趣。在较旧的系统中,这与 /home 相同。)
  • /home- 用户的主目录。普通用户只能写入自己的主目录。
  • swap(不是目录)这通常是 UNIX 中的一个单独分区。没有 swap 目录,尽管您可以在 Linux 中创建交换文件。

答案4

交换分区也用于休眠。如果您想让笔记本电脑或台式机进入休眠状态,您需要一个足够大的交换分区或交换文件来容纳正在运行的操作系统和打开的应用程序。

通常建议交换分区的大小与 RAM 内存相同。

相关内容