目录
磁盘管理
一、基本概念
二、磁盘分区管理
分区命名规则
常用命令:
文件系统
一、文件系统基本概念
二、文件系统基本结构
三、文件系统相关命令
磁盘管理
一、基本概念
磁盘分区的作用
磁盘分区的作用
刚出厂的磁盘不能直接使用,必须分区
易于管理和使用
有利于数据安全
提高系统运行效率
Linux磁盘分区格式
主引导记录分区 MBR
主分区:最多只能有4个。
扩展分区:最多只能有一个。
主分区加扩展分区最多有4个。
不能写入数据,只能包含逻辑分区。
逻辑分区:用来写入数据。
全局唯一标识分区列表 GPT
分区数量几乎没有限制(Windows中最多支持128个)
分区大小几乎没有限制(64位整数)
支持2TB以上的大硬盘
在磁盘末端增加分区表备份
Linux磁盘分区类型
(1)主分区:也称为引导分区,用来启动操作系统。
(2)扩展分区:实际在硬盘中是看不到的,也无法直接使用扩展分区,而是用来划分逻辑分区。
(3)逻辑分区:相当于一块存储介质,在扩展分区上可以创建多个逻辑分区,用来存储数据。
二、磁盘分区管理
分区命名规则
常用命令
lsblk 命令
lsblk命令以树状结构显示系统中的所有磁盘及磁盘的分区
[an@localhost ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 15G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 14G 0 part ├─centos-root 253:0 0 12.5G 0 lvm / └─centos-swap 253:1 0 1.5G 0 lvm [SWAP] sr0 11:0 1 4.3G 0 rom /run/media/an/CentOS 7 x86_64 注意: 各字段的含义如下 设备名 设备代码(MAJ:MIN) 可卸载设备(RM:0表示不可卸载) 容量(SIZE) 只读设备(RO:0表示不是只读) 设备类型(TYPE:sr0表示只读存储) 挂载点(MOUNT POINT)
blkid 命令
功能:快速查询每个分区的全局唯一标识符(UUID)和文件系统类型
[an@localhost ~]$ blkid /dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
parted 命令
功能:查看磁盘分区表的类型及分区详细信息
[an@localhost ~]$ sudo parted /dev/sda print [sudo] an 的密码: Model: VMware, VMware Virtual S (scsi) Disk /dev/sda: 16.1GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system 标志 1 1049kB 1075MB 1074MB primary xfs 启动 2 1075MB 16.1GB 15.0GB primary lvm
fdisk 新建分区
MBR分区表使用fdisk命令
文件系统
一、文件系统基本概念
通常情况下,可以将文件系统简单地定义为对文件进行管理的一种机制
硬盘作为一个机械式的存储设备,并不知道该如何对存入的文件进行管理
因此,通过将可以对文件进行管理的文件系统移植到硬盘上来实现文件的存储十分重要,此时文件
则可以按照规则合理地存储在硬盘上
二、文件系统基本结构
数据块(block):保存文件的实际内容。如果文件太长,可能会占用多个数据块。
inode:一个文件对应一个inode,记录文件的属性信息及文件占用的数据块编号。
inode索引结构:
inode中记录区块编号的区域称为指针,每个指针占用4个字节
inode中有12个直接指针、1个一重指针,1个二重指针和1个三重指针
12个直接指针支持的最大文件是12KB
二重指针指向的区块保存的是一重指针,一个二重指针支持的最大文件是 216KB
三重指针指向的区块保存的是二重指针,一个三重指针支持的最大文件是 224KB
超级数据块:记录和文件系统有关的信息,如inode和数据块的数量、使用情况、文件系统的格式及其他信息。
区块位图:记录文件系统中所有区块的使用状态。
inode位图:inode位图记录每个inode的状态。
三、文件系统相关命令
df 命令
功能:从超级数据块中读取信息,显示整个文件系统的空间使用情况(空余硬盘)
| 选项 | 功能说明 |
| -a | 显示所有文件系统,包括 /proc、/sysfs 等系统特有的文件系统 |
| -m | 以 MB 为单位显示文件系统空间 |
| -k | 以 KB 为单位显示文件系统空间 |
| -h | 使用人们习惯的 KB、MB 或 GB 为单位显示文件系统空间 |
| -H | 指定容量的换算以 1000 进位,即 1K=1000B,1M=1000K |
| -T | 显示每个分区的文件系统类型 |
| -i | 使用 inode 数量代替磁盘容量显示磁盘使用情况 |
| -t fstype | 只显示特定类型的文件系统 |
[an@localhost ~]$ df 文件系统 1K-块 已用 可用 已用% 挂载点 /dev/mapper/centos-root 13092864 5924168 7168696 46% / devtmpfs 1913668 0 1913668 0% /dev tmpfs 1930740 0 1930740 0% /dev/shm tmpfs 1930740 12812 1917928 1% /run tmpfs 1930740 0 1930740 0% /sys/fs/cgroup /dev/sda1 1038336 182780 855556 18% /boot tmpfs 386152 4 386148 1% /run/user/42 tmpfs 386152 36 386116 1% /run/user/1000 /dev/sr0 4480476 4480476 0 100% /run/media/an/CentOS 7 x86_64 注意: df 命令各列的含义如下 文件系统:文件系统所在的分区名称 1K-块:以1KB为单位的文件系统空间大小 已用:已使用的磁盘空间 可用:剩余的磁盘空间 已用%:磁盘空间使用率 挂载点:分区的挂载目录
df命令会自动分析目录或文件所在的分区,并显示分区信息
[an@localhost ~]$ df -h /home
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 13G 5.7G 6.9G 46% /
[an@localhost ~]$ df -h /bin
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 13G 5.7G 6.9G 46% /
du 命令
功能:计算目录或文件所占的磁盘空间大小
| 选项 | 功能说明 |
| -a | 显示所有目录和文件的容量 |
| -k | 以KB为单位显示容量 |
| m | 以MB为单位显示容量 |
| -h | 使用人们习惯的KB、MB或GB为单位显示容量 |
| -s | 仅显示目录总容量,不显示子目录和子文件的磁盘占用量 |
| -S | 显示目录容量,但不包括子目录的大小 |
[an@localhost ~]$ du //不加任何选项和参数时,du 会显示当前目录及其所有子目录的容量 ......... [an@localhost ~]$ du -s 8276 . [an@localhost ~]$ du -S 0 ./.mozilla/extensions 0 ./.mozilla/plugins 0 ./.mozilla 0 ./.cache/gdm 8 ./.cache/imsettings ........
文件链接 ln 命令
| 选项 | 功能说明 |
| -b | 删除,覆盖以前建立的链接 |
| -f | 强制执行 |
| -I | 交互模式,文件存在则提示用户是否覆盖 |
| -n | 把符号链接视为一般目录 |
| -s | 软链接(符号链接) |
| -v | 显示详细的处理过程 |
硬链接:
功能:创建一个链接文件指向原文件的 inode
链接文件和原文件共享同一个 inode,文件属性完全相同,通过“ls -l”的第二列中查看硬链接数目。
链接文件是原文件的“别名”
硬链接特征:
不论是修改源文件,还是修改硬链接文件,另一个文件中的数据都会发生改变。
不论删除源文件或是硬链接文件(只是删除这个文件和 inode 的对应关系),只要有一个文件存在,
文件都可以被访问。
硬链接不会建立新的inode信息,不能对目录文件做硬链接。
不能在不同的文件系统之间做硬链接,即链接文件和被链接文件必须处理同一文件系统中。
[an@localhost 2022]$ ls -li a1 // 使用-i选项显示文件inode编号 3924253 -rw-rw-r--. 1 an an 0 5月 5 20:57 a1 [an@localhost 2022]$ cat a1 i like game [an@localhost 2022]$ ln a1 hardlink_a1 // ln命令默认建立硬链接 [an@localhost 2022]$ ls -li a1 hardlink_a1 3921841 -rw-rw-r--. 2 an an 12 5月 12 15:05 a1 3921841 -rw-rw-r--. 2 an an 12 5月 12 15:05 hardlink_a1 [an@localhost 2022]$ rm a1 // 删除原文件 [an@localhost 2022]$ ls -li hardlink_a1 // 硬链接文件仍在 3921841 -rw-rw-r--. 1 an an 12 5月 12 15:05 hardlink_a1 [an@localhost 2022]$ cat hardlink_a1 i like game // 内容不变
软链接:
软链接通过文件的路径名建立链接,也叫做符号链接。
软链接是一个独立的文件,有自己的 inode,类似于快捷方式。
软链接的数据块保存的是原文件的文件名
软链接特征:
不论是修改源文件,还是修改硬链接文件,另一个文件中的数据都会发生改变。
删除软链接文件,源文件不受影响;而删除源文件,链接文件找不到实际的数据,则会失效。
可以跨文件系统
[an@localhost 2022]$ ls -li a2 // 使用-i选项显示文件inode编号 3921846 -rw-rw-r--. 1 an an 16 5月 12 15:14 a2 [an@localhost 2022]$ ln -s a2 softlink_a2 // 使用-s选项建立软链接 [an@localhost 2022]$ ls -li a2 softlink_a2 // 两个文件的属性并不相同 3921846 -rw-rw-r--. 1 an an 16 5月 12 15:14 a2 3924229 lrwxrwxrwx. 1 an an 2 5月 12 15:14 softlink_a2 -> a2 [an@localhost 2022]$ rm a2 [an@localhost 2022]$ cat softlink_a2 cat: softlink_a2: 没有那个文件或目录



