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

安装了各种Linux发行版以进行修补,我对安装程序提供分区布局感到困惑 – 为了方便起见我只使用整个可用磁盘空间。

提供的一些分区具有神秘的名称,包括/ varswap/ usr/ home 。 安装人员并没有真正向我解释这些 – 他们服务的目的是什么,以及应该使用哪些?

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

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

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

这些链接将解释有关哪些分区被称为什么以及它们是(或历史上)用于存储的内容的所有内容。

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

因此,将该原则扩展到几乎所有位于不同分区上的不同目录,您可以看到它如何有用,特别是当一台机器在多用户和多服务角色中全天候运行时。

安装时,许多发行版为您提供了将不同目录放在不同分区上的选项。 例如,许多用户选择将/ home目录放在与安装的其余部分不同的分区上。 这是因为/ home目录中的所有内容都属于用户 – 文档,video和所有其他特定于用户的数据都在这里。 通过将/ home目录放在一个单独的分区上,将实际的OS文件放在另一个分区上,如果用户决定重新安装他的Linux操作系统,他可以重写主分区并离开他/ home分区(以及所有他的文件完好无损。

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

一个临时用户不应该真的担心分配一个单独的/ var,swap,/ usr等。所有这些目录都是操作系统的一部分,与用户的文件几乎没有关系。

使用整个可用磁盘空间是个人计算机的完全有效(可能是推荐)选项。 在我看来,对RAID文件系统进行分区是在RAID或虚拟卷管理在软件中实用之前的远古时代。

在类UNIX系统中,文件系统从根目录“/”开始。 在DOS / Windows术语中将是’C:’

在DOS / Windows中,您可以将驱动器添加到潜水字母D:,E:等。在类UNIX系统中,您可以将驱动器安装到目录中。 回到有10或10兆字节硬盘的那一天,你可以在不同的驱动器和分区中安装各种目录,以给出一个大驱动器的错觉。 几乎是一个穷人的RAID 0。

分区各种根目录的原因有很多,但一个流行的想法是,由于swap和/ 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中的一个单独分区。 虽然您可以在Linux中创建交换文件,但没有交换目录。

您可以在Linux Documentation Project : Linux Filesystem Hierarchy的页面上找到非常详细的描述

交换分区也用于hibernate。 如果要将笔记本电脑或台式机置于hibernate状态,则需要交换分区或交换文件,该文件足以容纳正在运行的操作系统和打开的应用程序。

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

您可以在安装期间创建单独的分区。 a /home分区意味着每次安装Ubuntu时,您的个人用户设置都将保留。

/ – 是根。
/var – (上面解释)
/dev – 包含已注册设备的“链接”。 即/ dev / Video0是一张采集卡……

/bin /sbin – 包含应用程序

更好的是维基百科有一个很棒的页面http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

我找到的最重要的事情是为你的东西设置第二个分区(最大的),就像我每次重新安装或升级时所说的那样。 再次选择该分区,并确保取消选中格式框,然后一切都恢复。 甚至你的壁纸!

好吧, swap使用交换空间。 它就像Windows中的页面文件。 它有点补充RAM。

/home用于Windows中的My Documents等用户数据,

/usr是大多数程序很像C:\ Windows,和

/var包含系统正常运行时更改的数据。

至于为什么它们在不同的分区中,我认为主要是如果你的操作系统发生故障,你的数据不会随之下降。 但我真的不确定。

从历史上看,将/homeswap和其他关键节点驻留在不同的分区,不同的物理磁盘甚至不同的物理机器中都是最佳实践。 虽然为了方便(无论好坏),并且随着廉价的外部或基于云的备份的出现,现在所有东西都存在于一个单独的大分区中,您只需将您的个人事物备份到其他地方。

/usr ,代表Unix系统资源

/sbin ,系统二进制文件

与流行的观点相反, /etc并不代表等等 。 相反,它代表扩展工具箱 。 但是,与流行的看法相反,它仍然是一个争论的问题。

这里有关于这些文件夹以及它们如何组织的更多信息 。

如果您使用它,交换应该单独保存。 并使用1.5-2.0 x你的公羊尺寸。

其余的可以保持在一起,并不重要(Linux / Unix不是Windows并且具有单个目录层次结构,无论您的/ var目录是否是单独的分区,它看起来完全相同)。 分区的主要目的是使用不同的文件系统并分割可能的“磁盘已满”场景(例如,如果/ var填充了一些疯狂应用程序的日志,/ home stil工作)

作为旁注,我强烈建议使用LVM,它允许人们创建尽可能多的可自由resize和可移动的分区,甚至可以为家庭添加新的硬盘。 但是,它需要学习一些命令行,所以不适合初学者。