当前位置:首页>Linux>linux命令:如何查看文件目录大小?

linux命令:如何查看文件目录大小?

  • 2026-09-29 18:39:45
linux命令:如何查看文件目录大小?

在 Linux 运维和日常使用中,查看文件或目录大小是非常常见的操作。无论是排查磁盘空间不足、定位大目录、分析日志膨胀,还是确认某个文件是否过大,都离不开这类命令。


一、为什么要查看文件目录大小?

常见场景包括:

  • 服务器磁盘空间突然不足
  • 日志目录持续膨胀
  • 上传文件异常变大
  • 想快速找到最占空间的目录或文件

这类问题如果只看磁盘总使用率还不够,往往还需要进一步看到“到底是谁占了空间”。


二、最常用的命令有哪些?

在 Linux 中,查看文件和目录大小最常用的命令主要有:

  • du:查看目录或文件占用空间
  • ls -lh:查看单个文件大小
  • df -h:查看磁盘整体使用情况

如果目标是“找出某个目录下谁最大”,通常优先用 du;如果只是“看某个文件有多大”,用 ls -lh 就够了。


三、查看目录大小:du

1. 查看当前目录下各文件和子目录大小

du -sh *

其中:

  • -s:只显示汇总结果
  • -h:以人类可读方式显示,如 K、M、G

这条命令非常适合快速找出当前目录下哪个子目录最占空间。

2. 查看某个目录总大小

du -sh /var/log

只看总量,不展开子目录,适合快速判断某个目录是否异常膨胀。

3. 查看目录下每一级子目录大小

du -h --max-depth=1 /var

这条命令会列出 /var 下一层子目录的大小,非常适合逐级排查空间问题。

4. 按大小排序查看最大的目录

du -h --max-depth=1 /var | sort -hr

这样能很快看到哪个目录最大,适合磁盘排障时使用。


四、查看文件大小:ls -lh

如果只是想看某个文件多大,最直接的方式是:

ls -lh access.log

输出中会直接显示文件大小,例如 120M、2.3G。

如果想看当前目录下文件列表及大小:

ls -lh

如果希望按文件大小排序:

ls -lhS

其中:

  • -l:长格式显示
  • -h:人类可读大小
  • -S:按文件大小排序

五、查看磁盘整体使用情况:df -h

有时候问题并不是某个目录,而是整个磁盘分区已经快满了。这时可以先看整体情况:

df -h

它会显示各个挂载点的总容量、已用空间、可用空间和使用率。

常见排查思路是:

  1. 先用 df -h 找到哪个分区满了
  2. 再进入对应目录,用 du -h --max-depth=1 逐层定位
  3. 最后再用 ls -lhS 看具体是哪些大文件

六、常见实战示例

1. 查看 /var/log 总大小

du -sh /var/log

适合判断日志目录是否占用了过多空间。

2. 查看 /var 下一层目录大小并排序

du -h --max-depth=1 /var | sort -hr

能快速定位是 /var/log、/var/lib 还是 /var/cache 占用最多。

3. 查看当前目录下最大的文件

ls -lhS

适合快速找出当前目录中最大的文件。

4. 查找大于 1G 的文件

find /data -type f -size +1G

如果想进一步找超大文件,这条命令也很常用。

5. 查看指定目录总大小并排除无关输出

du -sh /home/app/*

适合快速对比多个应用目录谁占空间更多。


七、常见问题与建议

  1. 为什么 du 和 ls 看到的大小不一样?ls 显示的是文件本身大小,du 更关注文件实际占用的磁盘空间,两者在某些场景下可能不同。

  2. 为什么看目录大小时优先推荐 du? 因为目录本身并不直接体现它下面所有文件的总占用,du 更适合看“整体占了多少空间”。

  3. 排查磁盘满了时先用哪个命令? 建议先用 df -h 看分区,再用 du 深入定位。

  4. 如何更快找出最大的目录? 常用组合是:

du -h --max-depth=1 /path | sort -hr
  1. 查看大目录时命令很慢怎么办? 说明目录中文件很多,可以先缩小范围,按层级逐步排查,避免一次性扫描过大目录。

八、总结

查看 Linux 文件和目录大小,最常用的就是这几条:

du -sh /pathdu -h --max-depth=1 /path | sort -hrls -lh file.logls -lhSdf -h

如果只是看单个文件大小,用 ls -lh;如果要找哪个目录最占空间,用 du;如果要看整个磁盘是否快满,用 df -h。掌握这几条命令后,大多数“空间不够、目录太大、日志膨胀”的问题都能快速定位。

最新文章

随机文章