root分区半满,如何列出隐藏目录及大文件并删除?
排查并清理root分区的隐藏目录与大文件
嘿,我来帮你解决root分区空间占用的问题!下面是一套实用的命令组合,从排查到清理一步到位:
1. 先确认root分区整体空间使用
首先用这个命令快速查看root分区的剩余空间和占用率,对整体情况有个底:
df -h /
2. 列出所有隐藏目录并按大小排序
要找出占空间的隐藏目录,用find结合du和sort,能直接看到哪个隐藏目录最“吃”空间:
find / -type d -name ".*" -exec du -sh {} \; 2>/dev/null | sort -hr
2>/dev/null:过滤掉权限不足的错误提示,避免输出混乱sort -hr:按大小倒序排序,最大的目录排在最前面
3. 列出所有大文件(含隐藏文件)
如果要找单个大文件(比如大于100M的),可以用这个命令:
find / -type f -size +100M -exec du -sh {} \; 2>/dev/null | sort -hr
- 把
+100M改成你需要的阈值,比如+500M就能筛选更大的文件 - 如果只想看隐藏的大文件,把命令改成:
find / -type f -name ".*" -size +100M -exec du -sh {} \; 2>/dev/null | sort -hr
4. 更直观的交互式工具:ncdu
如果觉得纯命令行太繁琐,推荐用ncdu——一个可视化的磁盘分析工具,能交互式浏览所有目录(包括隐藏的),还能直接删除文件/目录,新手友好度拉满:
安装(根据你的系统选择)
- Debian/Ubuntu:
sudo apt update && sudo apt install ncdu
- CentOS/RHEL:
sudo yum install ncdu
使用
运行后会自动扫描root分区,扫描完成后可以用方向键导航,按d删除选中的文件/目录,按q退出:
sudo ncdu /
5. 安全删除注意事项
删除文件前一定要谨慎!:
- 先确认文件用途:比如
/root/.cache里的缓存文件可以放心删,但系统核心文件(比如/etc下的隐藏配置)绝对不能动 - 删除前可以用
ls -l查看文件的修改时间、权限,或者cat/head查看文件内容(如果是文本文件) - 删除命令:确认后用
sudo rm -rf /path/to/file-or-directory,注意-rf会强制删除且无法恢复,一定要确认路径正确!
内容的提问来源于stack exchange,提问作者Py-ser




