存储结构与磁盘划分
一切从“/”开始;
物理设备的命名规则;
文件系统与数据资料;
挂载硬件设备;
添加硬件设备;
添加交换分区;
磁盘容量配额;
软硬方式链接
一切从“/”开始
Linux系统中的一切文件都是从“根(/)”目录开始的,并按照 文件系统层次化标准(FHS)采用树形结构来存放文件,以及定义了常见目录的用途。另外,Linux 系统中的文件和目录名称是严格区分大小写的。例如,root、rOOt、Root、rooT 均代表不同的目 录,并且文件名称中不得包含斜杠(/)
物理设备的命名规则
系统内核中的设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以猜出设备大致的属性以及分区信息等;这对于陌生的设备来说特别方便。另外,的服务会一直以守护进程的形式运行并侦听内核发出的信 来管理 目录下的 设备文件。udev 服务命名规则
文件系统与数据资料
用户在硬件存储设备中执行的文件建立、写入、读取、修改、转存与控制等操作都是依 靠文件系统来完成的。文件系统的作用是合理规划硬盘,以保证用户正常的使用需求。Linux 系统支持数十种的文件系统,而最常见的文件系统如下所示
:是一款日志文件系统,能够在系统异常宕机时避免文件系统资料丢失,并能自动修复数据的不一致与错误。然而,当硬盘容量较大时,所需的修复时间也会很长,而且也不能百分之百地保证资料不会丢失。它会把整个磁盘的每个写入动作 的细节都预先记录下来,以便在发生异常宕机后能回溯追踪到被中断的部分,然 后尝试进行修复。
:Ext3 的改进版本,作为 RHEL 6 系统中的默认文件管理系统,它支持的存储容
量高达 1EB(1EB=1,073,741,824GB),且能够有无限多的子目录。另外,Ext4 文件系 统能够批量分配 block 块,从而极大地提高了读写效率
:是一种高性能的日志文件系统,而且是 RHEL 7 中默认的文件管理系统,它的
优势在发生意外宕机后尤其明显,即可以快速地恢复可能被破坏的文件,而且强大的 日志功能只用花费极低的计算和存储性能。并且它最大可支持的存储容量为 18EB, 这几乎满足了所有需求
在拿到了一块新的硬盘存储设备后,也需要先分区,然后再格式化文件系统,最后才能挂载并正常使用。硬盘的分区操作取决于您的需求和硬盘大小;您也可以选择不进行分区,但是必须对硬盘进行格式化处理
Linux 系统中有一个名为 super block 的“硬 盘地图”。Linux 并不是把文件内容直接写入到这个“硬盘地图”里面,而是在里面记录着整 个文件系统的信息。因为如果把所有的文件内容都写入到这里面,它的体积将变得非常大, 而且文件内容的查询与写入速度也会变得很慢。Linux 只是把每个文件的权限与属性记录在 inode 中,而且每个文件占用一个独立的 inode 表格,该表格的大小默认为 128 字节,里面记着如下信息
该文件的访问权限(read、write、execute);
该文件的所有者与所属组(owner、group);
该文件的大小(size);
该文件的创建或内容修改时间(ctime);
该文件的最后一次访问时间(atime);
该文件的修改时间(mtime);
文件的特殊权限(SUID、SGID、SBIT);
该文件的真实数据地址(point)。
而文件的实际内容则保存在 block 块中(大小可以是 1KB、2KB 或 4KB),一个 inode 的 默认大小仅为 128B(Ext3),记录一个 block 则消耗 4B。当文件的 inode 被写满后,Linux 系 统会自动分配出一个 block 块,专门用于像 inode 那样记录其他 block 块的信息,这样把各个 block 块的内容串到一起,就能够让用户读到完整的文件内容了。对于存储文件内容的 block 块,有下面两种常见情况(以 4KB 的 block 大小为例进行说明)。
情况 1:文件很小(1KB),但依然会占用一个 block,因此会潜在地浪费 3KB。
情况 2:文件很大(5KB),那么会占用两个 block(5KB-4KB 后剩下的 1KB 也要占 用一个 block)
计算机系统在发展过程中产生了众多的文件系统,为了使用户在读取或写入文件时不用 关心底层的硬盘结构,Linux内核中的软件层为用户程序提供了一个VFS (Virtual File System, 虚拟文件系统)接口,这样用户实际上在操作文件时就是统一对这个虚拟文件系统进行操作了
虽然按照上面的方法执行 mount 命令后就能立即使用文件系统了,但系统在重启后挂 载就会失效,也就是说我们需要每次开机后都手动挂载一下。这肯定不是我们想要的效果, 如果想让硬件设备和目录永久地进行自动关联,就必须把挂载信息按照指定的填写格式 (各字段的意义见表 6-4) 写入到 文件中。这个文件中包含着挂载所需的诸多信息项
unmount
命令用于撤销已经挂载的设备文件,格式为。
添加硬盘设备
在虚拟机中模拟添加了硬盘设备后就应该能看到抽象成的硬盘设备文件了。按照前文讲 解的 udev 服务命名规则,第二个被识别的 SCSI 设备应该会被保存为/dev/sdb,这个就是硬盘 设备文件了。但在开始使用该硬盘之前还需要进行分区操作,例如从中取出一个 2GB 的分区 设备以供后面的操作使用。
fdisk
在 Linux系统中,管理硬盘设备最常用的方法就当属fdisk命令了。fdisk命令用于管理磁盘 分区,格式为,它提供了集添加、删除、转换分区等功能于一身的“一站式分区服务”。不过与前面讲解的直接写到命令后面的参数不同,这条命令的参数(见表6-5)是交 互式的,因此在管理硬盘设备时特别方便,可以根据需求动态调整
磁盘容量配额
ed_quota
接下来针对一个原始文件创建一个硬链接,即相当于针对原始文件的硬盘存储位置创建 了一个指针,这样一来,新创建的这个硬链接就不再依赖于原始文件的名称等信息,也不会 因为原始文件的删除而导致无法读取。同时可以看到创建硬链接后,原始文件的硬盘链接数 量增加到了2
复习题
1./home 目录与/root 目录内存放的文件有何相同点以及不同点
这两个目录都是用来存放用户的家目录数据的,但是,/root 目录存放的是 root 管理员的家目录数据。
2.假如一个设备的文件名称为/dev/sdb,可以确认它是主板第二个插槽上的设备吗br> 不一定,因为设备的文件名称是由系统的识别顺序来决定的
3.如果硬盘中需要 5 个分区,至少需要几个逻辑分区br> 可以选用创建 3 个主分区+1 个扩展分区的方法,然后把扩展分区再分成 2 个逻辑分区,即有了 5 个分区。
5.哪个服务决定了设备在/dev 目录中的名称br> udev 设备管理器服务。
6.用一句话来描述挂载操作。
当用户需要使用硬盘设备或分区中的数据时,需要先将其与一个已存在的目录文件进行关联,而这个关联动作就是“挂载”
7.在配置 quota 磁盘容量配额服务时,软限制数值必须小于硬限制数值么br> 不一定,软限制数值可以小于等于硬限制数值。
8.若原始文件被改名,那么之前创建的硬链接还能访问到这个原始文件么br> 可以
文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux24896 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!