Linux,如何要定位并删除占用磁盘空间的大文件?

Linux,如何要定位并删除占用磁盘空间的大文件?

要定位并删除占用磁盘空间的大文件主要有以下这些步骤:

1. 使用 du 命令查找大文件或目录

du(Disk Usage)命令可以帮助你查找占用空间较大的文件或目录。

复制代码
du -ah --max-depth=1 / | sort -rh | head -n 20

这个命令将:

  • du -ah --max-depth=1 /:显示根目录下每个子目录的磁盘使用情况,-a 显示所有文件,-h 以人类可读的格式显示,--max-depth=1 限制显示的目录深度为1。
  • sort -rh:按大小排序,-r 表示逆序,-h 表示以人类可读的格式排序。
  • head -n 20:只显示前20个结果。

2. 定位到大的目录后进一步检查

如果你发现某个目录占用了大量空间,你可以深入到该目录继续检查:

复制代码
du -ah --max-depth=1 /path/to/large-directory | sort -rh | head -n 20

/path/to/large-directory 替换为你定位到的大目录路径。

3. 查找并删除大文件

如果找到不需要的大文件,你可以使用 rm 命令删除它们。例如:

复制代码
rm /path/to/large-file

4. 查找特定大小以上的文件

你可以使用 find 命令查找超过特定大小的文件,例如查找大于100MB的文件:

复制代码
find / -type f -size +100M -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'

这将列出所有大于100MB的文件及其大小。

5. 注意事项

  • 小心删除文件:确保你要删除的文件不会影响系统或重要应用程序的正常运行。
  • 清理日志:有时日志文件会占用大量空间,你可以清理或压缩它们。

通过以上步骤,你应该能够定位并删除占用空间的大文件,从而释放磁盘空间。

6. 清理方式

  • 清空文件

可以使用以下命令清空文件内容,而不删除文件本身,保留文件结构:

复制代码
echo "" > /xxxx/logs/x.log
  • 删除文件
    你也可以直接删除该文件:

    rm /xxxx/logs/x.log

相关推荐
逸模3 小时前
告别熬夜手工整理台账,逸模智能归集实现项目数据自动化存档
大数据·运维·人工智能·笔记·其他·信息可视化·自动化
sbjdhjd3 小时前
Redis 主从复制、哨兵高可用与 Cluster 集群部署实验手册
运维·前端·redis·云原生·开源·bootstrap·html
人间乄惊鸿客3 小时前
Linux所遇问题自记录
linux
AOwhisky3 小时前
MySQL 学习笔记(第四期):SQL 语言之多表查询
linux·运维·网络·数据库·笔记·学习·mysql
Phantom Void4 小时前
服务器处理客户端请求的设计方法
linux·运维·网络
司悠4 小时前
【解决在vscode里开服务器登录codeX后发消息会一直reconnecting】
服务器·ide·vscode
倔强的石头1064 小时前
Fooocus开源神器+cpolarAI让绘画告别服务器依赖
运维·服务器·cpolar
Ajie'Blog4 小时前
Copilot Agent Tasks API 开放:AI 编程开始进入后台任务时代
服务器·前端·javascript·人工智能·copilot·ai编程
wei_shuo4 小时前
服务器挂了等用户投诉才发现?我用Beszel搭了轻量监控系统,宕机第一时间通知我
运维·服务器
王码码20354 小时前
多台服务器怎么统一看状态?Beszel 轻量监控,搭起来不费事
运维·服务器·后端·安全·阿里云·接口·web