it-swarm.cn

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

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

提供的某些分区具有神秘名称,包括/ varswap/ usr/ home。安装程序并没有真正向我解释这些-它们的作用是什么?应该使用哪个(如果有)?

41
Grant Palin

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

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

Wikipedia上还有更多阅读内容:

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

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

因此,将该原理扩展到位于不同分区上的几乎所有不同目录,您将看到它的用处,特别是当计算机以多用户和多服务角色运行24/7时。

61
Ben Williams

安装时,许多发行版都提供了将不同目录放在不同分区上的选项。例如,许多用户选择将/ home目录放置在与其余安装不同的分区上。这是因为/ home目录中的所有内容都属于一个用户-文档,视频和所有其他特定于用户的数据都在此处。通过将/ home目录放在一个单独的分区上,并将实际的OS文件放在另一个分区上,如果用户决定重新安装Linux操作系统,则他可以重写主分区并保留/ home分区(以及所有文件)。

这还允许用户在不同的分区上安装多个Linux发行版,它们都共享相同的/ home分区。这样,无论使用什么Linux版本,用户都可以访问其文件。

临时用户不必真正担心分配单独的/ var,swap,/ usr等。所有这些目录都是OS的一部分,与用户的文件无关。

7
Makario

对于个人计算机,使用整个可用磁盘空间是一个完全有效(并且可能是建议的选择)的选项。在我看来,对文件系统进行这样的分区是在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系统can不带/ usr进行引导(出于恢复目的),但这并不是很有趣。在较旧的系统中,它与/ home相同。)
  • /home-用户的主目录。普通用户只能写入自己的主目录。
  • 交换(不是目录)在UNIX中,这通常是一个单独的分区。尽管可以在Linux中创建交换文件,但是没有交换目录。
5
wm_eddie

您可以在 Linux文档项目 的页面上找到非常详细的描述: Linux Filesystem Hierarchy

2
ddeimeke

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

/home用于用户数据,例如Windows中的“我的文档”,

/usr是大多数程序类似于C:\ Windows的地方,并且

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

至于为什么它们位于单独的分区中,我认为主要是如果您的操作系统出现故障,而您的数据却没有随之下降。但是我真的不确定。

1
Cody Harlow

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

/-是根。
/var上面解释)
/dev-包含指向已注册设备的“链接”。即/ dev/Video0是一个捕获卡...

/bin _ /sbin-包含应用程序

更好的是Wikipedia的页面很棒---(http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

我发现最大的东西是为您的东西提供第二个分区(最大的分区),就像我每次重新安装或升级时所说的那样。再次选择该分区,并确保取消选中格式框,然后一切恢复正常。甚至您的墙纸!

1
M J

从历史上看,使/homeswap和其他关键节点驻留在不同的分区,不同的物理磁盘甚至不同的物理计算机中是最佳实践。尽管为方便起见(不管是好是坏),并且随着廉价的外部备份或基于云的备份的出现,现在所有内容都位于一个大分区中,您只需将个人物品备份到其他地方即可。

/usr,代表Unix系统资源

/sbin,系统二进制文件

与普遍的看法相反,/etc并不代表。相反,它表示扩展工具箱。但是,与流行的看法相反,这仍然是一个辩论的问题。

这些文件夹上还有 info 以及它们的组织方式。

1
MrZen

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

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

1
jr0cket

如果使用交换,则应单独保存。并使用1.5-2.0 x您的ram大小。

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

作为附带说明,我强烈建议使用LVM,该LVM允许创建任意数量的可自由调整大小和可移动的分区,甚至可以向该系列中添加新的硬盘。尽管如此,它仍然需要学习一些命令行,因此对于整个初学者来说并不是。

0
Mekk