在linux系统中,查看文件夹大小是日常操作里非常常见的需求,无论是排查磁盘占用过高的问题,还是清理无用文件前确认目标文件夹的大小,都需要用到对应的命令工具。

使用du命令查看文件夹大小
du是linux系统中专门用于统计文件和目录磁盘使用情况的命令,默认情况下会递归统计目录下所有文件的大小,输出结果包含子目录的大小。
基础用法
查看指定文件夹的总大小,最常用的参数是-s和-h,-s表示只显示总计结果,不列出子目录的明细,-h表示以人类可读的格式显示大小,会自动转换为K、M、G等单位。
# 查看当前目录下test文件夹的总大小 du -sh test # 查看根目录下var文件夹的总大小 du -sh /var
常用参数说明
du命令还有很多实用参数,可以根据不同需求选择使用:
-a:显示目录中所有文件的大小,包括普通文件-c:显示所有目录或文件的大小总和,会在最后输出总计-d <层数>:指定统计的目录深度,比如-d 1只统计当前目录下一级子目录的大小--max-depth=<层数>:和-d参数作用一致,指定递归统计的最大深度
示例:查看当前目录下所有一级子目录的大小
如果需要快速了解当前目录下各个子目录的占用情况,可以使用以下命令:
# 只统计当前目录下一级子目录的大小,以可读格式显示 du -h -d 1 # 或者等价写法 du -h --max-depth=1
结合sort命令排序查看
如果目录下子目录较多,想要按大小排序找到占用最大的目录,可以结合sort命令使用:
# 统计当前目录一级子目录大小并按从大到小排序 du -h -d 1 | sort -hr
这里的sort -hr表示按人类可读的数字格式逆序排序,也就是从大到小排列,方便快速定位大目录。
查看磁盘整体使用情况
如果需要同时查看整个磁盘的使用情况,确认文件夹大小占磁盘总容量的比例,可以使用df命令:
# 以可读格式查看所有挂载点的磁盘使用情况 df -h
df命令的输出会显示每个磁盘分区的总容量、已用容量、可用容量和使用率,和du命令配合使用可以更全面地掌握存储情况。
注意事项
使用du命令查看文件夹大小时,需要注意权限问题,如果当前用户没有目标目录下某些文件的读取权限,会提示权限拒绝的错误,此时可以切换到root用户或者使用sudo执行命令。
另外du命令统计的是文件实际占用的磁盘空间,而不是文件的实际大小,因为磁盘存储会有块大小的限制,小文件实际占用的磁盘空间可能会比文件本身大小更大,这是正常的现象。