服务运维 --- 如何查看linux硬盘目录使用情况 并 查找大文件
sudo du -sh /* | sort -rh
Linux 查找大文件的命令
在 Linux 中查找大文件是释放磁盘空间的关键步骤。以下是几种常用的方法:
1. 使用 find
命令查找大文件
# 查找当前目录下大于 100MB 的文件
find . -type f -size +100M
# 查找整个系统中大于 1GB 的文件
find / -type f -size +1G 2>/dev/null
# 查找并显示文件大小(人类可读格式)
find . -type f -size +100M -exec ls -lh {} \;
# 查找并按大小排序
find . -type f -size +100M -exec du -h {} \; | sort -rh
2. 使用 du
命令查看目录大小
# 查看当前目录下各子目录的大小
du -sh *
# 查看当前目录下各子目录的大小并排序
du -sh * | sort -rh
# 查看指定目录的大小(如 /var)
du -sh /var/* | sort -rh
# 递归查看目录深度为1的所有子目录大小
du -h --max-depth=1 / | sort -rh
3. 使用 ncdu
工具(需要安装)
# 安装 ncdu
sudo apt install ncdu # Ubuntu/Debian
sudo yum install ncdu # CentOS/RHEL
# 使用 ncdu 扫描目录
ncdu / # 扫描根目录
ncdu /var # 扫描 /var 目录
4. 使用 ls
命令列出大文件
# 列出当前目录下的大文件并按大小排序
ls -lhS
# 列出指定目录下的大文件并按大小排序
ls -lhS /var/log/
5. 组合命令查找前N个大文件
# 查找当前目录下前10个最大的文件
find . -type f -exec du -h {} + 2>/dev/null | sort -rh | head -n 10
# 查找系统中前20个最大的文件(可能需要sudo权限)
sudo find / -type f -exec du -h {} + 2>/dev/null | sort -rh | head -n 20
针对您的具体情况
根据您之前的信息,根分区已满,建议先检查以下常见的大文件位置:
# 检查日志目录
sudo du -sh /var/log/* | sort -rh
# 检查网站目录
sudo du -sh /mnt/wwwroot/* | sort -rh
# 检查用户主目录
sudo du -sh /home/* | sort -rh
# 检查临时文件目录
sudo du -sh /tmp/* | sort -rh
注意事项
-
使用
sudo
权限来访问所有目录和文件 -
使用
2>/dev/null
来隐藏权限错误信息 -
删除文件前确保它们不是系统关键文件
-
优先考虑清理日志文件、缓存文件和临时文件
完成大文件查找后,您可以决定删除哪些不需要的大文件来释放磁盘空间。