当前位置:首页 > 问答 > 正文

Linux 文件夹管理:使用命令行快速查看文件夹大小的方法

Linux | 文件夹管理:使用命令行快速查看文件夹大小的方法

场景引入:你的硬盘空间去哪了?

"奇怪,我的硬盘怎么又满了?" 你盯着系统提示的"磁盘空间不足"警告,一脸困惑,明明上周才清理过,怎么这么快又爆满了?是哪个文件夹在偷偷吃掉你的空间?是下载目录堆积了太多临时文件,还是某个日志文件疯狂增长?

在图形界面里一个个文件夹点开查看大小太费时间,尤其当你有大量深层嵌套的文件夹时,这时候,Linux 命令行就能派上大用场——几个简单的命令,就能快速找出占用空间最大的"罪魁祸首"。


基础命令:du(磁盘使用情况)

du(disk usage)是 Linux 下查看文件夹大小的核心工具,它的基本用法很简单:

du -h /path/to/directory
  • -h 参数表示"人类可读"(Human-readable),自动以 KB、MB、GB 为单位显示大小。
  • 如果不指定路径,默认显示当前目录的大小。

示例:

du -h ~/Downloads

这会列出 ~/Downloads 目录下所有子文件夹的大小。


只看总大小,不显示子目录

如果只关心某个文件夹的总大小,加上 -s(summarize)参数:

Linux 文件夹管理:使用命令行快速查看文件夹大小的方法

du -sh /path/to/directory

示例:

du -sh /var/log

输出可能是:

2G    /var/log

直接告诉你 /var/log 文件夹总共占用了 1.2GB 空间。


找出当前目录下最大的文件夹

想快速知道当前目录下哪个子文件夹最占空间?用以下命令:

du -h --max-depth=1 | sort -h
  • --max-depth=1 限制只显示当前目录的直接子文件夹。
  • sort -h 按人类可读的大小排序(从小到大)。

如果想看最大的几个,可以结合 tail

du -h --max-depth=1 | sort -h | tail -n 5

这会显示当前目录下最大的 5 个文件夹。


进阶技巧:排除特定文件类型

你可能想排除某些文件(比如临时文件 .tmp 或日志 .log),可以用 --exclude 参数:

Linux 文件夹管理:使用命令行快速查看文件夹大小的方法

du -h --exclude="*.log" /path/to/directory

或者结合 find 命令:

find /path/to/directory -type f ! -name "*.tmp" -exec du -ch {} + | grep total

(这条命令会计算排除 .tmp 文件后的总大小。)


图形化替代方案:ncdu

如果你更喜欢交互式界面,可以安装 ncdu(NCurses Disk Usage):

sudo apt install ncdu    # Debian/Ubuntu
sudo dnf install ncdu    # Fedora/CentOS

然后运行:

ncdu /path/to/directory

它会扫描目录并以图形化界面展示占用情况,支持键盘导航和排序,非常适合深度分析。


  • 快速查看总大小du -sh /path
  • 找出大文件夹du -h --max-depth=1 | sort -h
  • 交互式工具ncdu

下次再遇到磁盘空间告急,别急着乱删文件——先用这些命令精准定位问题,省时又高效!

发表评论