包括主轴马达、磁头和磁头臂和盘片等几个主要部分
马达驱动盘片转动,可伸展的磁头臂牵引磁头在盘片上读取数据
磁道和扇区
把盘片分割成小的组成部分以更有效地组织和管理数据
固定磁头,盘片转动,磁盘划过的区域形成一个圆,即磁道
把磁道划分成若干大小相等的区域,即扇区,每个扇区的容量为 512 字节,第一个扇区存放MBR(Master Boot Record)
磁盘分区的作用
刚出厂的磁盘不能直接使用,必须分区
易于管理和使用
有利于数据安全
提高系统运行效率
分区格式常见的硬盘分区格式包括MBR和GPT两种,两者具有不同的特点。
1)主引导记录分区(Main Boot Record,MBR)的特点:
最多支持4个主分区;在Linux上使用扩展分区和逻辑分区最多可以创建15个分区;
由于分区中的数据以32位存储,所以使用MBR分区最大支持2TB的空间。
2)全局唯一标识分区列表(GUID Partition Table,GPT)分区的特点:
是UEFI标准的一部分,主板必须支持UEFI标准。GPT分区支持最128PB(1PB=1024TB)。可以定义128个分区。没有主分区、扩展分区和逻辑分区的概念,所有分区都能格式化;gdisk管理工具可以创建GPT分区。
分区类型
Linux磁盘分区有3种类型:主分区、扩展分区、逻辑分区。
1)主分区:也称为引导分区,用来启动操作系统。
2)扩展分区:实际在硬盘中是看不到的,也无法直接使用扩展分区,而是用来划分逻辑分区。
3)逻辑分区:相当于一块存储介质,在扩展分区上可以创建多个逻辑分区,用来存储数据。
磁盘分区管理MBR分区原则
1)主分区:最多只能有4个。
2)扩展分区。
最多只能有一个。
主分区加扩展分区最多有4个。
不能写入数据,只能包含逻辑分区。
3)逻辑分区:用来写入数据。
分区命名规则
常用命令 lsblk命令 blkid命令快速查询每个分区的全局唯一标识符(UUID)和文件系统类型
UUID是操作系统为每个磁盘或分区分配的唯一标识符
parted命令查看磁盘分区表的类型及分区详细信息
fdisk命令MBR分区表使用fdisk命令
gdisk命令GPT分区表使用gdisk命令
| b | 将GPT数据备份到一个文件 |
| c | 更改分区名称 |
| d | 删除一个分区 |
| i | 显示分区详细信息 |
| l | 列出已知分区类型 |
| n | 增加一个新的分区 |
| o | 创建一个新的空白的GPT分区表 |
| p | 显示当前磁盘的分区表 |
| q | 退出gdisk程序,不保存任何修改 |
| r | 恢复和转换选项 |
| s | 排序分区 |
| t | 改变分区的类型 |
| v | 验证磁盘分区表 |
| w | 将分区表写入裁判并退出(保存并推虎) |
| x | 额外功能 |
| ? | 显示帮助信息 |
挂载分区就是把一个分区与一个目录绑定,把这个目录作为进入这个分区的入口,这个目录称为“挂载点”,此时访问目录即可访问到该分区中存储的各种资源。
分区必须被挂载到某个目录后才可以使用
文件系统 基本概念
对存储空间进行组织和分配,提供文件操作的接口,文件权限管理
为操作系统提供识别和管理磁盘文件的方法和数据结构
是磁盘上特定位置的一片区域,保存本文件系统的相关信息
文件的内容称为用户数据(user data)
文件还有一些附件信息,即元数据(meta data),如文件所有者、文件权限、大小、最近访问时间、最近修改时间等
用户数据和元数据一般分开存放
文件系统基本结构
数据块(block):保存文件的实际内容。如果文件太长,可能会占用多个数据块。
inode:一个文件对应一个inode,记录文件的属性信息及文件占用的数据块编号。
超级数据块(Super block):记录和文件系统有关的信息,如inode和数据块的数量、使用情况、文件系统的格式及其他信息。
区块位图(block bitmap):记录文件系统中所有区块的使用状态。
inode位图(inode bitmap):inode位图记录每个inode的状态。
Linux常用文件系统
| 文件系统 | 说明 |
| ext | Linux 最早的文件系统,由于性能和兼容性较差,目前也不再使用 |
| ext2 | ext 的升级版本,支持最大 16TB 的分区和最大 2TB 的文件 |
| ext3 | ext2 的升级版本,增加日志功能,减少文件系统的不一致,提高可靠性 |
| ext4 | ext3 的升级版本,ext4 引入众多高级功能,带来了颠覆性的变化,如持久预分配、多块分配、延迟分配、盘区结构、快速 FSCK、日志校验、无日志模式、在线碎片整理、inode 增强、默认启用Barrier、纳秒级时间戳等。ext4支持最大 1EB 文件系统和 16TB 文件、无限数量的子目录 |
| swap | Linux 中专用于交换分区的文件系统。当系统物理内存不足时,使用交换分区补充物理内存,类似 Windows 操作系统中的虚拟内存 |
| xfs | CentOS 7 之后的默认文件系统,用于大容量磁盘和处理巨型文件,几乎具有 ext4 文件系统的所有功能,伸缩性强,性能优异 |
| iso9660 | 光盘的标准文件系统,支持对光盘的读写和刻录等 |
| proc | Linux 中基于内存的虚拟文件系统,用来存储有关内核运行状态的特定文件,提供访问内核的特殊接口,挂载在 /proc 目录下 |
相关命令 df命令
功能:从超级数据块中读取信息,显示整个文件系统的空间使用情况(空余硬盘)
超级数据块记录和文件系统有关的信息
| 选项 | 功能说明 |
| -a | 显示所有文件系统,包括 /proc、/sysfs 等系统特有的文件系统 |
| -m | 以 MB 为单位显示文件系统空间 |
| -k | 以 KB 为单位显示文件系统空间 |
| -h | 使用人们习惯的 KB、MB 或 GB 为单位显示文件系统空间 |
| -H | 指定容量的换算以 1000 进位,即 1K=1000B,1M=1000K |
| -T | 显示每个分区的文件系统类型 |
| -i | 使用 inode 数量代替磁盘容量显示磁盘使用情况 |
| -t fstype | 只显示特定类型的文件系统 |
功能:计算目录或文件所占的磁盘空间大小
| 选项 | 功能说明 |
| -a | 显示所有目录和文件的容量 |
| -k | 以KB为单位显示容量 |
| m | 以MB为单位显示容量 |
| -h | 使用人们习惯的KB、MB或GB为单位显示容量 |
| -s | 仅显示目录总容量,不显示子目录和子文件的磁盘占用量 |
| -S | 显示目录容量,但不包括子目录的大小 |
链接是访问同一个文件的目录项,同一个文件可以有若干个链接,即一个文件可以在若干个目录中进行登记,从而可以通过多条路径访问同一个文件。由多个用户共同使用它。
为了避免文件在系统中被不必要得多次复制,可通过创建文件链接,使得各个用户在自己方便的位置存取同一个文件,实现文件的共享。
分为软链接和硬链接两种方式。
ln命令
| 选项 | 功能说明 |
| -b | 删除,覆盖以前建立的链接 |
| -f | 强制执行 |
| -I | 交互模式,文件存在则提示用户是否覆盖 |
| -n | 把符号链接视为一般目录 |
| -s | 软链接(符号链接) |
| -v | 显示详细的处理过程 |
功能:创建一个链接文件指向原文件的inode
链接文件和原文件共享同一个 inode,文件属性完全相同,通过“ls -l”的第二列中查看硬链接数目。
链接文件是原文件的“别名”
硬链接特征不论是修改源文件,还是修改硬链接文件,另一个文件中的数据都会
发生改变。
不论删除源文件或是硬链接文件(只是删除这个文件和 inode 的对应
关系),只要有一个文件存在,文件都可以被访问。
硬链接不会建立新的inode信息,不能对目录文件做硬链接。
不能在不同的文件系统之间做硬链接,即链接文件和被链接文件必须处理同一文件系统中。
ln命令-软链接
软链接通过文件的路径名建立链接,也叫做符号链接。
软链接是一个独立的文件,有自己的 inode,类似于快捷方式。
软链接的数据块保存的是原文件的文件名
软链接特征:不论是修改源文件,还是修改硬链接文件,另一个文件中的数据都会发生改变。
删除软链接文件,源文件不受影响;而删除源文件,链接文件找不到实际的数据,则会失效。
可以跨文件系统



