Linux查看文件夹占用磁盘空间全指南,从基础命令到高效工具

admin
本文系统介绍Linux查看文件夹磁盘空间的方法:基础命令如du-h人性化显示、-sh汇总目录)、df查看分区使用情况;高效工具包括ncdu(交互式扫描)、baobab(图形化分析),可快速定位大文件、分析目录结构,帮助用户高效管理磁盘空间,解决存储不足问题。

在Linux系统中,我们常说的“文件夹占用内存”通常是指文件夹占用的磁盘空间(内存是RAM,用于临时存储运行数据;磁盘空间则是硬盘/SSD的存储容量),本文将详细介绍多种查看文件夹磁盘占用情况的方法,从基础命令到第三方工具,助你快速定位大文件和目录。

基础命令:du——查看目录/文件磁盘使用量

du(disk usage)是Linux中最常用的磁盘使用情况分析工具,通过它可以精准查看指定文件夹及其子文件夹的占用空间。

查看单个文件夹的总占用空间

du -sh /path/to/folder
  • -s(summarize):仅显示总计大小,不显示子文件夹详情;
  • -h(human-readable):以人类可读格式显示(如K、M、G);
  • /path/to/folder:目标文件夹路径(可使用相对路径,如./current_folder)。

示例:查看/home/user/downloads文件夹的总大小

Linux查看文件夹占用磁盘空间全指南,从基础命令到高效工具

du -sh /home/user/downloads
# 输出示例:2.5G /home/user/downloads

查看文件夹下所有子文件夹的大小(按层级展开)

du -h --max-depth=N /path/to/folder
  • --max-depth=N:控制显示层级(N=1只显示一级子文件夹,N=2显示两级,以此类推)。

示例:查看/var/log下所有子文件夹的大小(最多显示2级)

du -h --max-depth=2 /var/log
# 输出示例:
# 4.0K  /var/log/alternatives
# 12M   /var/log/apt
# 8.0K  /var/log/dist-upgrade
# ...
# 156M  /var/log

查看文件夹下所有文件/文件夹的大小(按大小排序)

若想按占用大小从大到小排序,可结合sort命令:

du -h /path/to/folder | sort -hr
  • sort -h:按人类可读的数字大小排序(从小到大);-r则反转排序(从大到小)。

示例:查看/home/user下所有子文件夹的大小并排序

du -h /home/user | sort -hr
# 输出示例:
# 5.2G  /home/user
# 3.1G  /home/user/videos
# 1.8G  /home/user/documents
# 256M  /home/user/pictures
# ...

排除特定文件/文件夹

若需排除某些文件(如日志文件、临时文件),可使用--exclude选项:

du -sh --exclude="*.log" /path/to/folder

示例:查看/data文件夹大小,排除所有.log文件

du -sh --exclude="*.log" /data

文件系统视角:df——查看文件夹所在分区的整体使用情况

df(disk free)用于查看文件系统的磁盘剩余空间,若想确认“文件夹所在分区的总容量和剩余空间”,可用df

df -h /path/to/folder
  • -h:人类可读格式;
  • /path/to/folder:目标文件夹路径(若不写,则显示所有挂载点的信息)。

示例:查看/home/user/downloads所在分区的磁盘使用情况

df -h /home/user/downloads
# 输出示例:
# Filesystem      Size  Used Avail Use% Mounted on
# /dev/sda2        500G  380G  100G  79% /home

说明:/home/user/downloads位于/dev/sda2分区,该分区总容量500G,已用380G,剩余100G,使用率79%。

交互式工具:ncdu——高效分析磁盘占用(推荐)

ncdu(NCurses Disk Usage)是一个基于终端的交互式磁盘分析工具,支持“实时扫描、导航、删除”,适合快速定位大文件/文件夹,比du更直观。

安装ncdu

不同发行版安装命令不同:

  • Debian/Ubuntu:sudo apt install ncdu
  • CentOS/RHEL:sudo yum install ncdu
  • macOS(Homebrew):brew install ncdu

使用ncdu扫描文件夹

ncdu /path/to/folder

示例:扫描/home/user/downloads

ncdu /home/user/downloads

启动后会显示类似界面:

ncdu 1.15.1 ~ Use the arrow keys to navigate, press ? for help
--- /home/user/downloads [2.5G] ---
  1.1G  [##########]  videos/
  800M  [#####     ]  documents/
  350M  [###       ]  pictures/
  150M  [#         ]  temp/
  100M  [.         ]  archives/
  • 操作说明
    • 上下箭头:导航文件夹/文件;
    • 右箭头:进入子文件夹;
    • 左箭头:返回上级文件夹;
    • d:删除当前文件/文件夹(需确认);
    • n:按名称排序;
    • s:按大小排序;
    • q:退出。

进阶技巧:结合finddu——按文件类型/时间筛选

若需按文件类型(如.mp4.log)或修改时间筛选文件并计算大小,可结合finddu

查找特定类型的文件并计算总大小

find /path/to/folder -type f -name "*.mp4" -exec du -ch {} + | grep total$
  • -type f:仅查找文件(不包含目录);
  • -name "*.mp4":文件名匹配.mp4
  • -exec du -ch {} +:对每个找到的文件执行du -ch-c显示总计,-h人类可读);
  • grep total$:过滤出“total”行,即总大小。

示例:查找/home/user/videos下所有.mp4文件的总大小

find /home/user/videos -type f -name "*.mp4" -exec du -ch {} + | grep total$
# 输出示例:1.1G total

查找最近7天修改的文件并计算大小

find /path/to/folder -type f -mtime -7 -exec du -ch {} + | grep total$
  • -mtime -7:查找
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码