必须用命令行揪出占用最大的前十个文件:sudo find / -type f -printf "%s %p\n" 2>/dev/null | sort -n -r | head -n 10;查主目录用find ~/;查当前目录用du -a . | sort -n -r | head -n 10;分步定位先找大目录再挖大文件。

麒麟系统磁盘空间告急却找不到具体是哪些文件在“吃”空间时,必须用命令行直接揪出占用最大的前十个文件,避免在图形界面里盲目翻找或误删关键目录。
用find + sort一次性列出全盘最大10个文件
这一步适用于已知根目录或某挂载点严重告警、需全局扫描的场景,命令会遍历指定路径下所有普通文件并按大小倒序排列。
打开终端,输入以下命令:
sudo find / -type f -printf "%s %p\n" 2>/dev/null | sort -n -r | head -n 10
其中 【/ 必须加 sudo,否则跳过 /root、/var/log 等受保护路径,结果缺失超90%的大文件】;%s 表示文件字节数,%p 输出完整路径,sort -n -r 按数值降序排,head -n 10 截取前十行。
若只想查用户主目录,把 / 换成 ~/ 即可,无需 sudo,速度更快且无权限报错干扰。
用du + sort定位当前目录下最大文件(含子目录内)
当你已进入某个可疑目录(如 /home/用户名/Downloads),想快速看清里面谁占得最多,这个方法更轻量、更聚焦。
执行命令:du -a . 2>/dev/null | sort -n -r | head -n 10
-a 参数强制列出所有文件(包括隐藏文件和子目录中的文件),不加它只会统计目录本身,漏掉真正的大文件。
输出结果第一列是字节数,第二列是相对路径;若需人眼可读单位,可改用:du -ah . 2>/dev/null | sort -hr | head -n 10 ——但注意 【-h 会导致 sort -hr 排序不准,GB级文件可能排在MB级之后,仅作参考,精准排序务必用 -n】。
分步钻取:先找大目录,再挖大文件
当全盘扫描太慢或权限受限时,采用“目录→子目录→文件”的三级定位法,效率更高、路径更清晰。
第一步:查看根目录下占比最高的前10个子目录
sudo du -sh /* 2>/dev/null | sort -hr | head -n 10
第二步:进入排第一的目录,例如 cd /var
第三步:在该目录中列出所有文件(不含目录)并排序
find . -maxdepth 1 -type f -printf "%s %p\n" 2>/dev/null | sort -n -r | head -n 10
第四步:若前三步未见明显大文件,说明大文件藏在深层子目录中,执行:
du -sh */ 2>/dev/null | sort -hr | head -n 5 → 找出当前层最大子目录 → cd 进去 → 重复第三步

















