linux系统完全可以查看文件的总大小,无论是单个文件还是目录下的所有文件总大小,都可以通过系统内置的命令快速获取,不同的场景可以选择不同的命令来实现。
查看单个文件的大小
如果需要查看单个文件的总大小,最常用的是ls命令配合-lh参数,该参数可以以人类可读的格式展示文件大小,默认单位是KB、MB、GB等。
命令格式如下:
# 查看指定文件的大小,human readable格式 ls -lh 文件名 # 示例:查看当前目录下的test.txt文件大小 ls -lh test.txt
执行后会输出类似如下的结果,其中第5列就是文件的总大小:
-rw-r--r-- 1 root root 2.3M 3月 15 10:30 test.txt
另外也可以使用stat命令查看文件的详细属性,其中包含文件的总字节数:
# 查看文件详细属性 stat 文件名 # 示例 stat test.txt
查看目录的总大小
如果需要查看某个目录下的所有文件总大小,包括子目录中的文件,需要使用du命令,该命令专门用于统计目录或文件的磁盘使用情况。
常用参数说明:
-h:以人类可读的格式展示大小-s:仅显示总大小,不列出子目录的详细大小-c:显示总大小,同时可以汇总多个目录的大小
查看单个目录总大小的命令如下:
# 查看指定目录的总大小 du -sh 目录名 # 示例:查看当前目录下的data目录总大小 du -sh data/
如果需要查看当前目录下所有子目录和文件的大小,并汇总总大小,可以使用如下命令:
# 查看当前目录下所有内容的大小并汇总 du -sh * # 查看当前目录总大小 du -sh .
查看磁盘分区的剩余空间和总大小
如果需要查看整个磁盘分区的空间使用情况,包括已用空间、剩余空间、总大小,可以使用df命令。
常用参数-h同样可以以人类可读的格式展示信息:
# 查看所有挂载点的磁盘空间情况 df -h
执行后会输出类似如下的表格信息:
| 文件系统 | 容量 | 已用 | 可用 | 已用% | 挂载点 |
|---|---|---|---|---|---|
| /dev/sda1 | 50G | 20G | 28G | 42% | / |
| tmpfs | 3.9G | 0 | 3.9G | 0% | /dev/shm |
不同命令的使用场景对比
为了避免混淆,这里对几个常用命令的适用场景做简单对比:
ls -lh:仅适用于查看单个文件的大小,无法统计目录总大小du:专门用于统计目录或文件的磁盘使用量,适合查看目录总大小df:用于查看磁盘分区的整体空间情况,不适合查看单个文件或目录的大小
注意事项
使用du命令统计目录大小时,默认会包含目录下的所有文件和子目录,如果只需要统计当前目录下的文件大小,不递归子目录,可以添加--max-depth=1参数:
# 仅统计当前目录下一级内容的大小,不递归子目录 du -h --max-depth=1
另外,du命令统计的是文件实际占用的磁盘空间,而ls命令显示的是文件的实际大小,对于稀疏文件来说,两者的数值可能会有较大差异。
linuxdu_commanddf_commandfile_size修改时间:2026-06-10 20:12:30