linux命令看磁盘空间(Linux命令查磁盘)


Linux系统中磁盘空间管理是运维和开发领域的核心技能之一,直接影响系统稳定性和数据安全性。通过命令行工具实时监控磁盘使用情况,可精准定位存储瓶颈、预防容量告警,并为容量规划提供数据支撑。本文将从八个维度深度解析Linux磁盘空间查看命令,涵盖基础指令、可视化工具、分区管理、inode监控等场景,并通过对比表格揭示不同工具的适用边界。
1. 基础指令:df与du的核心应用
`df`(磁盘文件系统)和`du`(磁盘使用量)是查看磁盘空间的两大基础命令,分别从文件系统和目录视角提供数据。
命令 | 功能 | 典型参数 | 输出单位 |
---|---|---|---|
df | 显示文件系统磁盘占用 | -h(人类可读)、-T(显示文件系统类型) | KB/MB/GB |
du | 计算目录及其子目录磁盘占用 | -sh(汇总显示)、--max-depth(限制递归深度) | KB/MB/GB |
对比分析:`df`关注整个文件系统的已用/可用空间,而`du`聚焦于具体目录的实际占用。例如,删除大文件后`du`数值会立即变化,但`df`需等待文件系统释放块才能更新。
2. 可视化工具:提升空间感知效率
命令行工具虽强大,但可视化界面能更直观展示磁盘状态。常见工具包括:
工具 | 特点 | 依赖库 |
---|---|---|
ncdu | ncurses图形化du,支持导航和删除 | ncurses |
duf | 实时监控磁盘使用,类似iotop | Python+psutil |
DiskUsage | KDE桌面环境集成工具,支持树图展示 | Qt |
`ncdu`通过箭头键快速浏览目录,红色标记高占用文件夹,适合快速清理;`duf`则动态显示每秒磁盘变化,适用于监控临时文件突增场景。
3. 分区与挂载点管理
`lsblk`和`fdisk`是管理分区的核心工具,配合`mount`命令可完整追踪挂载关系。
命令 | 输出内容 | 适用场景 |
---|---|---|
lsblk | 树形显示块设备及分区 | 快速查看设备层级 |
fdisk -l | 详细分区表(含UUID) | 脚本化处理分区信息 |
mount | grep 'on /' | 根目录挂载选项 | 排查启动参数问题 |
例如,`lsblk -f`可同时显示文件系统类型和UUID,而`df -T`补充了文件系统类型的视图,两者结合能快速定位异常挂载点。
4. inode使用监控
除空间占用外,inode耗尽也会导致无法创建新文件。使用`df -i`可查看inode使用率:
$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 409600 35000 374600 9% /
tmpfs 102400 50 102350 1% /run
当IUse%接近100%时,即使磁盘空间充足也会无法写入新文件。此时需删除小文件或调整`mkfs`时的每多少字节分配一个inode参数。
5. 历史监控与趋势分析
单次查询无法发现渐进式问题,需结合历史数据。`sysstat`套件中的`sar`命令可记录磁盘使用趋势:
命令 | 功能 | 数据源 |
---|---|---|
sar -d 1 5 | 每1秒记录5次磁盘活动 | /var/log/sysstat/sa |
iostat -dx 2 | 每2秒显示设备利用率 | 实时采集 |
collectl -sD -i 60 | 每分钟收集磁盘指标 | 本地缓存 |
通过`sar -u`可回溯过去7天的磁盘使用峰值,帮助识别周期性负载问题。
6. 文件系统类型对空间统计的影响
不同文件系统的块分配策略会影响空间计算结果:
文件系统 | 块大小 | 最小分配单元 | 空间统计特性 |
---|---|---|---|
ext4 | 16KB-64KB | 与块大小一致 | 精确统计,无内部碎片 |
xfs | 512B-64KB | 可配置延迟分配 | 实际使用量可能小于du统计值 |
btrfs | 16KB | 动态块分配 | 包含副本的冗余空间统计 |
例如,在xfs文件系统中,`du`统计的是逻辑大小,而实际物理空间可能因延迟分配未完全占用,导致`df`显示可用空间比预期少。
7. 网络存储的特殊考量
对于NFS、CIFS等网络挂载,需额外关注协议开销和缓存占用:
命令 | 作用 | 关键参数 |
---|---|---|
df -h | grep nfs | 查看网络存储使用量 | 无特殊参数 |
mount -t nfs -o retrans=5 | 调整传输重试次数 | retrans(重试次数) |
echo 3 > /proc/sys/vm/drop_caches | 清理页面缓存 | 仅影响当前系统 |
网络存储的`df`统计包含客户端缓存,实际服务器端空间需通过`df`在服务端查看。此外,`nfsiostat`工具可专门监控RPC调用和传输效率。
8. 性能优化与空间回收
磁盘空间问题常伴随性能下降,需结合以下工具定位瓶颈:
场景 | 工具 | 输出指标 |
---|---|---|
IO瓶颈分析 | iostat -x 1 | await时间、%util |
进程级监控 | iotop -o | 读写速率、进程PID |
文件删除验证 | lsof + du | 打开文件与目录占比 |
例如,`iostat`显示%util持续高于90%,表明磁盘处于饱和状态,此时需结合`du`查找大文件或清理临时目录。
掌握Linux磁盘空间查看的多维度方法,既能及时处理存储告警,又能为容量规划提供数据支撑。从基础命令到可视化工具,从实时监控到历史分析,不同场景需选择适配的工具链。理解文件系统特性和网络存储机制,可避免统计误差导致的误判。最终,通过系统性监控和主动优化,可实现存储资源的高效利用与风险防控。





