在 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 获取超级用户权限。

975

被折叠的 条评论
为什么被折叠?



