Linux磁盘
Linux磁盘
Linux磁盘分区
-
Linux 磁盘分区机制是操作系统管理磁盘空间的核心部分。通过分区,可以将一块物理磁盘划分为多个逻辑部分,每个部分可以独立管理、格式化和挂载。
-
磁盘分区的基本概念
- 分区:将一块物理磁盘划分为多个逻辑部分,每个部分称为一个分区。
- 分区表:记录磁盘分区信息的结构,存储在磁盘的特定位置。
- 分区类型:
- 主分区(Primary Partition):最多 4 个,可以直接用于安装操作系统或存储数据。
- 扩展分区(Extended Partition):一种特殊的主分区,用于创建更多逻辑分区。
- 逻辑分区(Logical Partition):在扩展分区内创建,数量不限。
-
Linux中万物皆文件,磁盘在Linux也是一个个的文件
-
通过将磁盘进行分区,再将这些分区挂载到Linux系统中的不同文件中,就可以操作这些文件来操作磁盘以及对应的磁盘分区
-
查看磁盘信息
-
使用
lsblk或fdisk -l、 查看磁盘信息: -
lsblk lsblk -f #查看详细信息 fdisk -l #需要管理员权限 -
[root@learn /]# lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 xfs b04e153e-0078-445f-8fff-cf840f33eb9c /boot ├─sda2 xfs 9aa009ed-b2d0-4cda-b5a6-f8e515f32a62 / └─sda3 swap 3a951480-b797-4f0c-a69a-d779f2c8db25 [SWAP] sr0- sda代表这是sd类型的第一块磁盘,如果在添加一块sd类型的磁盘则为sdb
- sda1为磁盘的第一块分区,这个分区挂载在Linux系统下的/boot目录
- 真正存放文件的位置是在该磁盘的分区位置,Linux下只是一个目录用来操作磁盘
-
添加磁盘和分区
-
将新磁盘连接到服务器或计算机(物理连接或虚拟添加)。
-
确保系统识别到新磁盘。
-
使用lsblk命令
-
新磁盘通常会显示为
/dev/sdb、/dev/sdc等(具体名称取决于系统配置)。 -
[root@learn ~]# lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 xfs b04e153e-0078-445f-8fff-cf840f33eb9c /boot ├─sda2 xfs 9aa009ed-b2d0-4cda-b5a6-f8e515f32a62 / └─sda3 swap 3a951480-b797-4f0c-a69a-d779f2c8db25 [SWAP] sdb sr0
-
-
为磁盘添加分区
-
使用
fdisk创建分区(适用于 MBR 分区表) -
打开
fdisk:硬盘一般自动挂载到dev目录下-
sudo fdisk /dev/sdb
-
-
创建新分区:
- 输入
n创建新分区。 - 选择分区类型(主分区
p或扩展分区e)。 - 设置分区编号(默认即可)。
- 设置起始扇区(默认即可)。
- 设置分区大小(例如
+20G或直接按回车使用全部空间)。
- 输入
-
保存分区表:
- 输入
w保存并退出。
- 输入
-
[root@learn ~]# lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 xfs b04e153e-0078-445f-8fff-cf840f33eb9c /boot ├─sda2 xfs 9aa009ed-b2d0-4cda-b5a6-f8e515f32a62 / └─sda3 swap 3a951480-b797-4f0c-a69a-d779f2c8db25 [SWAP] sdb └─sdb1 sr0 -
可以看到已经创建了分区,但是没有文件类型和挂载点
-
使用
mkfs命令格式化分区。将/dev/sdb1格式化为ext4文件系统: -
sudo mkfs.ext4 /dev/sdb1 -
格式化完分区后就有了文件类型和UUID,接下来需要进行挂载
-
-
挂载分区(命令行)
-
挂载点是一个空目录,用于访问分区中的文件系统,创建
/mnt/data作为挂载点:-
sudo mkdir /mnt/data
-
-
使用
mount命令挂载分区:-
sudo mount /dev/sdb1 /mnt/data
-
-
挂载点必须为空:挂载点目录不能包含文件或子目录。
-
权限问题:确保挂载点目录的权限正确。
-
文件系统类型:挂载时必须指定正确的文件系统类型。(已经格式化)
-
[root@learn mnt]# lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 xfs b04e153e-0078-445f-8fff-cf840f33eb9c /boot ├─sda2 xfs 9aa009ed-b2d0-4cda-b5a6-f8e515f32a62 / └─sda3 swap 3a951480-b797-4f0c-a69a-d779f2c8db25 [SWAP] sdb └─sdb1 ext4 30e2c64a-b007-467e-98a2-157668c597c0 /mnt/data sr0 -
可以看到已经挂载完毕,操作data目录就是相当与操作该磁盘空间
-
-
挂载分区(文件)
-
命令行挂载分区重启系统后失效
-
为了实现开机自动挂载,需要编辑
/etc/fstab文件。 -
UUID=9aa009ed-b2d0-4cda-b5a6-f8e515f32a62 / xfs defaults 0 0 UUID=b04e153e-0078-445f-8fff-cf840f33eb9c /boot xfs defaults 0 0 UUID=3a951480-b797-4f0c-a69a-d779f2c8db25 swap swap defaults 0 0 ~ -
可以通过UUID进行挂载,也可以通过文件名称进行挂载
-
UUID=a1b2c3d4-1234-5678-9101-112131415161 /mnt/data ext4 defaults 0 2 /dev/sdb1 /mnt/data ext4 defaults 0 2UUID:分区的唯一标识。/mnt/data:挂载点。ext4:文件系统类型。defaults:挂载选项。0:是否备份(0 表示不备份)。2:是否检查文件系统(0 表示不检查,1 表示优先检查,2 表示次优先检查)。
-
-
卸载挂载点
-
使用
umount命令卸载分区或通过设备卸载来卸载挂载点,不会删除分区:sudo umount /mnt/data sudo umount /dev/sdb1
-
-
查询磁盘情况
-
df命令-
功能:用于显示文件系统的磁盘使用情况,包括总容量、已用空间、可用空间和挂载点等信息。
-
常用选项:
-
-h:以易读的格式显示(如 KB、MB、GB)。 -
-T:显示文件系统类型。 -
df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 50G 20G 30G 40% / tmpfs 2.0G 0 2.0G 0% /dev/shm
-
-
df显示的是文件系统的整体使用情况。 -
如果指定文件或目录,
df会显示该文件或目录所在文件系统的使用情况。
-
-
du命令-
功能:用于显示目录或文件的磁盘使用情况,可以递归地计算目录中所有文件的大小。
-
常用选项:
-h:以易读的格式显示。-s:显示总大小(汇总)。--max-depth=N:限制显示的目录层级。-a:显示所有文件的大小(包括普通文件)。-c:显示总计信息。
-
# 显示目录的总大小: du -sh /path/to/directory 1.2G /path/to/directory # 显示目录中每个子目录的大小 du -h --max-depth=1 /path/to/directory 512M /path/to/directory/subdir1 700M /path/to/directory/subdir2 1.2G /path/to/directory -
du显示的是目录或文件的实际磁盘使用情况。 -
如果未指定目录,
du会显示当前目录的使用情况。
-

浙公网安备 33010602011771号