Ubuntu 磁盘空间与分区查看命令整理
平时排查磁盘问题,我最先看的通常不是分区表,而是挂载后的空间占用。df 能回答'哪里快满了',lsblk 和 fdisk 更适合看'盘是怎么切的'。两类命令别混着用,省得在错误的层面上打转。
查看已挂载文件系统的空间
df -h
df 看的是真正挂载到系统里的文件系统。它会列出总容量、已用、可用空间、使用率和挂载点,适合先判断根分区或者某个数据盘是不是顶满了。
常用选项:
-h:以 GB、MB 这种人类更容易读的单位显示-T:带上文件系统类型,比如ext4、xfs-i:看 inode 使用情况,不是看磁盘容量
比如只想看根目录:
df -h /
查看磁盘和分区结构
lsblk
lsblk 的输出更像一棵树,能直接看到磁盘、分区和挂载点之间的关系。机器里插了几块盘、哪块盘挂了系统、哪块盘还空着,用它一眼就能分出来。
示例输出:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 464.3G 0 part /
如果想把文件系统信息一起带出来,可以用:
lsblk -f
查看分区表详情
sudo fdisk -l
fdisk -l 更底层一些,能看到分区表、起止扇区、分区类型这些信息。它对确认磁盘是不是被系统识别、分区有没有写进去很有用,不过通常需要 sudo。
查看目录或文件占用
du -sh /path/to/directory
du 看的是某个目录本身占了多少空间,不关心它是不是挂载点。想定位'是谁把磁盘吃掉了',这个命令比 df 更直接。
常用选项:
-s:只给总计-h:人类可读格式--max-depth=N:限制展开层级,比如--max-depth=1只看一级子目录
常见用法:
du -sh /var/log
查看 UUID 和文件系统类型
sudo blkid
这个命令常用于写 /etc/fstab。挂载时用 UUID 比直接写设备名稳一点,盘序变化时不容易挂错。

