ToolkitX
知识库工具箱

磁盘与存储管理

df, du, mount, fdisk, lsblk

25min·进阶

01. 盘还剩多少——df

磁盘满了服务就挂了,所以得常看。df 告诉你每个挂载点还剩多少空间。就像手机存储空间不足会弹提示,df 就是服务器的「存储空间」仪表盘:
bash
df -h                    # 人类可读的磁盘用量
df -h /                  # 只看根分区
df -i                    # 看 inode 使用率(小文件太多也会导致写不进去!)
df -hT                   # 加上文件系统类型
df -i 经常被忽略——即使磁盘空间够,inode 用完了也写不进去新文件,常见于邮件服务器和大量小文件场景。

02. 什么占空间——du

df 告诉你总量用了多少,du 帮你找谁占了最多空间。就像「磁盘扫帚」,专揪大文件和大目录:
bash
du -sh /var/log/         # 这个目录总共多大
du -sh * | sort -rh      # 当前目录下各文件/文件夹排序,大的在前面
du -h --max-depth=1 /    # 根目录下一层各占多少
du -sh * | sort -rh | head -10  # 找出前 10 大目录
ncdu                      # 交互式磁盘分析,需额外安装

03. 挂载——mount

Windows 插 U 盘自动弹出,Linux 得手动「挂载」——把设备上的文件系统接入到目录树里。说白了就是告诉系统:这个 U 盘的内容,以后在 /mnt/usb 就能看到:
bash
mount /dev/sdb1 /mnt/usb  # 把 U 盘挂到 /mnt/usb
mount                      # 查看所有挂载点
umount /mnt/usb            # 卸载(用之前确保没进程在用)
mount -t ext4 /dev/sdb1 /mnt/data  # 指定文件系统类型
blkid                      # 查看所有块设备的 UUID
lsblk                      # 树状显示所有磁盘和分区

04. 分区——fdisk

给新硬盘分区就像给地画格子——决定哪块种玉米哪块种土豆。fdisk 是老牌分区工具,简单够用:
bash
sudo fdisk -l             # 列出所有磁盘和分区
sudo fdisk /dev/sdb       # 进入 /dev/sdb 的交互式分区界面
# fdisk 内常用命令:
# m - 帮助
# p - 打印当前分区表
# n - 新建分区
# d - 删除分区
# w - 写入并退出
# q - 不保存退出

sudo mkfs.ext4 /dev/sdb1  # 分区完后还得格式化
sudo partprobe            # 通知内核重新读分区表
fdisk 操作不可逆,输入前再三确认磁盘名。别手滑把系统盘分了,那是灾难现场。

知识测验

1/4正确 0

df 和 du 的区别是什么?

下一节

系统信息查看

下一节