在 Linux 系统中,你可以通过以下几个命令快速查找 /data
目录下占用空间较大的文件或目录:
方法 1:使用 du
命令(推荐)
du
(Disk Usage)是专门用于分析磁盘占用的工具,支持按大小排序。
# 列出 /data 下所有子目录的大小(含隐藏目录),按从大到小排序
du -sh /data/* | sort -rh
# 更深入分析(包含子目录的子目录)
du -h --max-depth=1 /data | sort -rh
# 查找前10大目录或文件
du -ah /data | sort -rh | head -n 10
参数说明:
-
-s
:统计总大小(不显示子目录细节)。 -
-h
:以人类可读格式显示(如 KB、MB、GB)。 -
--max-depth=1
:仅显示 1 级子目录。 -
sort -rh
:按人类可读的数字逆序排序(从大到小)。 -
head -n 10
:显示前10行结果。
方法 2:使用 find
+ ls
直接查找大文件(如大于 500MB 的文件):
# 查找大于 500MB 的文件并显示详细信息
find /data -type f -size +500M -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
# 仅列出文件名(速度更快)
find /data -type f -size +500M -printf "%s\t%p\n" | sort -nr | head -n 20
参数说明:
-
-type f
:仅查找文件(排除目录)。 -
-size +500M
:大小超过 500MB(支持单位:G
、M
、k
)。 -
-exec ls -lh {} \;
:对找到的文件执行ls -lh
显示详细信息。 -
-printf "%s\t%p\n"
:直接打印文件大小(字节)和路径。
方法 3:使用 ncdu
工具(交互式)
安装 ncdu
(NCurses Disk Usage),以交互界面直观分析:
# 安装 ncdu(Debian/Ubuntu)
sudo apt install ncdu
# 扫描 /data 目录
ncdu /data
操作说明:
-
按方向键浏览目录。
-
按
d
删除文件(谨慎使用)。 -
按
q
退出。
方法 4:使用 ls
按大小排序
快速列出当前目录下大文件(不递归子目录):
# 按文件大小逆序排列(仅当前目录)
ls -lhS /data
参数说明:
-
-l
:长格式显示。 -
-h
:人类可读大小。 -
-S
:按文件大小排序(大到小)。
总结
-
快速定位大目录 → 使用
du -sh * | sort -rh
。 -
精确查找大文件 → 使用
find + size
过滤。 -
交互式分析 → 使用
ncdu
(适合复杂场景)。
如果有权限问题,可在命令前加 sudo
获取超级用户权限。