第 6 章 存储结构与磁盘划分
本章讲解了如下内容:
¾ 一切从“/”开始;
¾ 物理设备的命名规则;
¾ 文件系统与数据资料;
¾ 挂载硬件设备;
¾ 添加硬件设备;
¾ 添加交换分区;
¾ 磁盘容量配额;
¾ 软硬方式链接。
Linux 系统中颇具特色的文件存储结构常常搞得新手头晕脑胀, 本章将从 Linux 系统中的文件存储结构开始,讲述文件系统层次化标准( FHS, Filesystem Hierarchy Standard)、 udev硬件命名规则以及硬盘分区的规划方法。
为了让读者更好地理解文件系统的作用,刘遄老师将在本章中详细地分析 Linux 系统中最常见的 Ext3、 Ext4 与 XFS 文件系统的不同之处,并带领各位读者着重练习硬盘设备分区、格式化以及挂载等常用的硬盘管理操作,以便熟练掌握文件系统的使用方法。
在打下坚实的理论基础与完成一些相关的实践练习后,我们将进一步完整地部署 SWAP交换分区、配置 quota 磁盘配额服务,以及掌握 ln 命令带来的软硬链接。相信各位读者在学习完本章后,会对 Linux 系统以及 Windows 系统中的磁盘存储以及文件系统有深入的理解。
6.1 一切从“/”开始
在 Linux 系统中,目录、字符设备、块设备、套接字、打印机等都被抽象成了文件,即刘遄老师所一直强调的“Linux 系统中一切都是文件”。既然平时我们打交道的都是文件,那么又应该如何找到它们呢?在 Windows 操作系统中,想要找到一个文件,我们要依次进入该文件所在的磁盘分区(假设这里是 D 盘),然后在进入该分区下的具体目录,最终找到这个文件。但是在 Linux系统中并不存在 C/D/E/F 等盘符, Linux 系统中的一切文件都是从“根( /)”目录开始的,并按照文件系统层次化标准( FHS) 采用树形结构来存放文件, 以及定义了常见目录的用途。 另外, Linux系统中的文件和目录名称是严格区分大小写的。例如, root、 rOOt、 Root、 rooT 均代表不同的目录,并且文件名称中不得包含斜杠( /)。 Linux 系统中的文件存储结构如图 6-1 所示。
前文提到的 FHS 是根据以往无数 Linux 系统用户和开发者的经验而总结出来的,是用户在 Linux 系统中存储文件时需要遵守的规则,用于指导我们应该把文件保存到什么位置,以及告诉用户应该在何处找到所需的文件。但是, FHS 对于用户来讲只能算是一种道德上的约束,有些用户就是懒得遵守,依然会把文件到处乱放,有些甚至从来没有听说过它。这里并不是号召各位读者去谴责他们, 而是建议大家要灵活运用所学的知识, 千万不要认准这个 FHS协定只讲死道理,不然吃亏的可就是自己了。在 Linux 系统中,最常见的目录以及所对应的存放内容如表 6-1 所示。
在 Linux 系统中另外还有一个重要的概念—路径。路径指的是如何定位到某个文件,分为绝对路径与相对路径。绝对路径指的是从根目录( /)开始写起的文件或目录名称,而相对路径则指的是相对于当前路径的写法。我们来看下面这个例子,以帮助大家理解。假如有位外国游客来到中国潘家园旅游,当前内急但是找不到洗手间,特意向您问路,那么您有两种正确的指路方法。
¾ 绝对路径(absolute path):首先坐飞机来到中国,到了北京出首都机场坐机场快轨到三元桥,然后换乘 10 号线到潘家园站,出站后坐 34 路公交车到农光里,下车后路口左转。
¾ 相对路径(relative path):前面路口左转。
这两种方法都正确。如果您说的是绝对路径,那么任何一位外国游客都可以按照这个提示找到潘家园的洗手间,但是太繁琐了。如果您说的是相对路径,虽然表达很简练,但是这位外国游客只能从当前位置(不见得是潘家园)出发找到洗手间,因此并不能保证在前面的路口左转后可以找到洗手间,由此可见,相对路径不具备普适性。</