Linux下查看文件夹及所有文件大小的实用方法与技巧

admin
Linux下查看文件夹及文件大小,常用du命令:du -sh快速获取目录总大小,du -h --max-depth=1列出一级子目录大小;结合sort -hr可按大小倒序排序,--exclude可排除特定文件(如--exclude="*.log"),交互式工具ncdu支持可视化浏览,按n按名称、s按大小排序,适合深度分析大文件位置,find . -type f -exec du -sh {} \;可单独查看各文件大小,这些方法能高效定位大文件,助力存储管理与优化。

在Linux系统管理中,磁盘空间管理是一项日常重要任务,无论是排查服务器存储瓶颈,还是清理本地电脑的冗余文件,快速准确地查看文件夹及其所有文件的大小都是关键技能,本文将详细介绍Linux下查看文件夹及文件大小的多种方法,涵盖基础命令、高级组合及实用技巧,帮助你高效掌握磁盘空间分析能力。

为什么需要查看文件夹及文件大小?

在开始介绍方法前,先明确场景需求:

  • 服务器运维:发现磁盘空间不足(如df -h显示根目录使用率100%),需定位占用空间大的目录或文件;
  • 个人电脑清理:查找下载目录、缓存文件夹中的大文件,释放存储空间;
  • 数据分析:统计项目目录下各模块的代码量或数据文件大小,优化存储结构。

针对不同场景,选择合适的命令能大幅提升效率。

Linux下查看文件夹及所有文件大小的实用方法与技巧

核心方法:使用du命令查看文件夹大小

du(disk usage)是Linux系统内置的磁盘使用情况分析工具,专为查看目录及文件大小设计,是本文的核心方法。

基础用法:查看当前目录总大小

最简单的用法是直接在目标目录下执行du,默认以字节为单位显示目录及其子目录的大小:

du

但输出结果会包含所有子目录的逐级统计,信息冗余,此时可结合-s(summary,显示总计)和-h(human-readable,人类可读单位)参数,快速获取目录总大小:

du -sh

示例输出(假设当前目录总大小为1.2GB):

2G    .

查看指定目录的大小

若要查看其他目录(如/var/log)的大小,只需指定目录路径:

du -sh /var/log

查看目录下一级子目录的大小(不递归)

若只想查看当前目录直接子目录的大小(不深入子子目录),可使用--max-depth=1(或-d 1):

du -h --max-depth=1

示例输出(假设当前目录有3个子目录):

0K    ./docs
256M    ./downloads
1.2G    ./projects

查看所有文件及目录的大小(含子目录)

若需递归显示所有文件和子目录的大小(默认行为),可加-a(all)参数:

du -ah

输出会按目录层级列出每个文件和目录的大小,适合精细分析,但文件较多时可能需要结合排序(后文详述)。

排除特定目录或文件

实际场景中,常需排除某些目录(如临时目录.cache)或文件(如.log)。du支持--exclude参数,通过通配符排除目标:

# 排除所有以".cache"结尾的目录
du -sh --exclude="*.cache" /path/to/dir
# 排除特定目录(如node_modules)
du -sh --exclude=node_modules /path/to/project

进阶技巧:结合sortfind等命令精准定位

du本身仅能统计大小,结合其他命令可实现排序、筛选、定位大文件等高级功能。

按大小排序,找出占用空间最大的目录

若要按从大到小排序目录大小,可将du的输出通过管道()传递给sort命令:

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

参数说明:

  • sort -h:以人类可读单位(K、M、G)排序(需coreutils支持,现代Linux默认安装);
  • sort -r:降序排列(默认升序)。

示例输出:

2G    ./projects
256M    ./downloads
4.0K    ./docs

定位最大的10个文件或目录

若要找出整个目录下最大的N个文件,可结合findsort

find . -type f -exec du -h {} + | sort -hr | head -n 10

参数说明:

  • find . -type f:查找当前目录下的所有文件(-type f表示文件,排除目录);
  • -exec du -h {} +:对每个文件执行du -h,比\;更高效(批量处理);
  • head -n 10:取
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

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