在 Linux 中,磁盘与文件系统管理是运维和开发绕不开的话题。无论是扩容、挂载新磁盘,还是排查磁盘占用,都需要熟练掌握相关命令与概念。本文带你系统掌握 Linux 磁盘与文件系统管理的核心技能。
1. 查看磁盘与分区信息
1.1 lsblk
— 查看块设备信息
lsblk
输出示例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 96G 0 part /
├─sda2 8:2 0 4G 0 part [SWAP]
NAME → 设备名
TYPE → disk(磁盘)、part(分区)
MOUNTPOINT → 挂载点
1.2 fdisk
— 分区管理(MBR/GPT)
sudo fdisk -l
列出所有磁盘及分区信息。
注意:
fdisk
是交互式的,修改分区需谨慎。
2. 查看磁盘使用情况
2.1 df
— 磁盘空间占用
df -h
-h
→ 以 KB/MB/GB 显示可查看挂载点、已用空间、可用空间
2.2 du
— 目录/文件占用
du -sh /var/log
-s
→ 总计-h
→ 可读格式
查找当前目录下最大的文件夹:
du -sh * | sort -hr | head -n 10
3. 挂载与卸载磁盘
3.1 临时挂载
sudo mount /dev/sdb1 /mnt/data
3.2 卸载
sudo umount /mnt/data
3.3 永久挂载(修改 /etc/fstab
)
编辑:
UUID=1234-ABCD /data ext4 defaults 0 2
查看 UUID:
blkid /dev/sdb1
4. 格式化磁盘
常见文件系统:
ext4:Linux 主流文件系统
xfs:高性能,常用在大文件/高并发场景
NTFS:Windows 文件系统(需额外驱动)
示例:
sudo mkfs.ext4 /dev/sdb1
sudo mkfs.xfs /dev/sdb1
5. 交换分区(Swap)管理
5.1 查看 Swap
free -h
5.2 新建 Swap 文件
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
5.3 开机自动启用(/etc/fstab
)
/swapfile none swap sw 0 0
6. 磁盘健康与 I/O 性能检查
6.1 磁盘健康
sudo smartctl -a /dev/sda
需安装 smartmontools
。
6.2 磁盘 I/O 性能测试
sudo hdparm -Tt /dev/sda
7. 实战案例:添加并挂载一块新磁盘
查看新磁盘:
lsblk
分区:
sudo fdisk /dev/sdb
格式化:
sudo mkfs.ext4 /dev/sdb1
创建挂载目录:
sudo mkdir /data
挂载:
sudo mount /dev/sdb1 /data
永久挂载:
echo "UUID=$(blkid -s UUID -o value /dev/sdb1) /data ext4 defaults 0 2" | sudo tee -a /etc/fstab
8. 小结
查看磁盘:
lsblk
、fdisk
、blkid
空间分析:
df
、du
挂载管理:
mount
、umount
、/etc/fstab
格式化:
mkfs.ext4
、mkfs.xfs
健康检测:
smartctl
、hdparm
掌握这些命令,你就能从容应对 Linux 磁盘扩容、挂载、优化的需求。
评论区