Linux中查看目录及文件大小常用ls、du、df命令,ls -lh可列出当前目录文件及大小,支持人类可读格式(如KB/MB);du -sh [目录]统计目录总占用空间,--max-depth=1可限制查看层级;df -h则用于查看磁盘分区整体使用情况,三者结合能快速定位大文件、分析目录空间占用及磁盘剩余容量,是系统管理中基础且实用的工具。
在Linux系统管理中,磁盘空间的有效利用至关重要,无论是排查大文件占用、清理冗余数据,还是监控目录存储增长,都需要掌握查看文件和目录大小的命令,本文将详细介绍Linux系统中常用的文件大小查看命令,包括它们的语法、选项及实际应用场景,帮助读者高效管理磁盘空间。
du命令:目录及文件大小统计利器
du(disk usage)是Linux中最常用的磁盘使用情况分析工具,主要用于递归查看指定目录或文件所占用的磁盘空间。
基本语法
du [选项] [目录/文件]
常用选项及示例
(1)-h:人类可读格式显示
默认情况下,du以字节(B)为单位显示结果,-h选项会自动转换为KB、MB、GB等更易读的单位。

# 查看当前目录下各子目录及文件的大小(递归) du -h # 仅查看当前目录总大小(不递归显示子目录细节) du -sh
(2)-s:汇总指定目录大小
-s(summarize)选项只显示汇总结果,不递归显示子目录,适合快速查看目录总占用空间。
# 查看 /var 目录的总大小 du -sh /var # 查看 /home 下所有用户目录的总大小 du -sh /home/*
(3)--max-depth:限制递归深度
当目录层级较深时,可通过--max-depth指定递归层级,避免输出信息过多。
# 查看 /etc 目录下直接子目录的大小(不递归到孙目录) du -h --max-depth=1 /etc # 查看 /var/log 目录下前2层子目录的大小 du -h --max-depth=2 /var/log
(4)-a:显示所有文件大小
默认情况下,du不显示普通文件的大小,仅显示目录大小;-a(all)选项可同时列出目录和文件的大小。
# 查看当前目录下所有文件和子目录的大小 du -ah
(5)-c:显示总计大小
-c(total)选项会在输出末尾显示所有文件/目录的总大小,方便统计。
# 查看 /tmp 目录下所有文件及子目录的大小,并显示总计 du -ahc /tmp
df命令:文件系统磁盘使用情况
df(disk free)主要用于查看文件系统的磁盘使用情况,包括已用空间、可用空间、挂载点等信息,与du不同,df关注的是整个分区的使用状态,而非具体文件/目录的大小。
基本语法
df [选项] [挂载点/目录]
常用选项及示例
(1)-h:人类可读格式显示
# 查看所有文件系统的磁盘使用情况(以易读单位显示) df -h # 查看 /home 分区的磁盘使用情况 df -h /home
(2)-T:显示文件系统类型
通过-T选项可查看文件系统的类型(如ext4、xfs、nfs等)。
# 查看所有文件系统的类型及使用情况 df -Th
(3)-i:显示inode使用情况
inode是Linux中存储文件元数据的索引节点,-i选项可查看inode的已用/剩余数量,避免因inode耗尽导致无法创建文件。
# 查看 / 分区的inode使用情况 df -ih /
du与df的核心区别
du:从文件/目录角度统计实际占用的磁盘空间(基于文件内容大小+元数据)。df:从文件系统角度统计分区的已用/可用空间(基于块组分配)。- 典型场景:
du适合排查具体哪个文件/目录占空间大;df适合查看分区是否已满。
ls命令:快速查看当前目录文件大小
ls(list)是Linux中最基础的目录浏览命令,配合选项可快速查看当前或指定目录下文件的大小。
基本语法
ls [选项] [目录/文件]
常用选项及示例
(1)-l:长格式显示(包含文件大小)
# 显示当前目录下文件的详细信息(包括大小、权限、所有者等) ls -l # 查看 /etc/passwd 文件的大小和权限 ls -l /etc/passwd
(2)-h:人类可读格式显示
-h需与-l配合使用,将文件大小转换为KB/MB/GB。
# 以易读单位显示当前目录下文件

