Linux 磁盘空间不够用?5 招快速清理文件,释放 10GB 空间不是梦!
off999 2025-07-14 20:43 20 浏览 0 评论
刚收到服务器警告:磁盘空间不足 90%!装软件提示No space left on device!连日志都写不进去,系统卡到崩溃?
别慌!今天教你5 个超实用的磁盘清理大招,从临时文件到无用软件一键搞定,零基础也能 30 分钟释放 10GB + 空间,再也不怕磁盘变红啦!
一、先做这一步!快速定位 “空间占用大户”(必学基础)
核心命令:df -h 和 du -sh
作用:
- df -h:查看整个磁盘的空间使用情况(看根目录/是否爆红)
- du -sh /*:逐层扫描各个目录的大小(找出占用最大的文件夹)
实战演示:
- 查看整体空间:
df -h # 重点看`/dev/sda1`对应的`/`目录使用率 |
输出类似:
Filesystem Size Used Avail Use% Mounted on /dev/sda1 50G 45G 3.0G 94% / # 危险!超过80%就该清理了 |
- 定位大目录:
du -sh /* 2>/dev/null # 忽略权限错误,快速列出根目录下所有文件夹大小 |
常见 “元凶” 可能是:
- /var/log(日志文件)/usr/local(大型软件安装目录)/home(用户文件)/tmp(临时文件)
二、第 1 招:清理系统临时文件(秒释放 GB 级空间)
作用:删除系统自动生成的临时文件(重启后会再生,无风险)
核心目录:
- /tmp:所有用户的临时文件(建议直接清空)
- /var/tmp:需要保留几天的临时文件(按需清理)
操作步骤(以/tmp为例):
- 先查看大小:
du -sh /tmp # 经常占用几百MB甚至GB级空间 |
- 安全清理(需管理员权限):
sudo rm -rf /tmp/* # 注意!保留`/tmp`目录本身,只删里面的文件 |
小白贴士:/tmp里的文件都是系统 / 软件临时生成的,删除后不影响运行,重启后会自动重建。
三、第 2 招:批量删除日志文件(服务器空间 “杀手”)
作用:服务器运行中产生的海量日志,常占用 10GB + 空间
常见日志目录:
- /var/log:系统日志(重点清理*.log和*.gz文件)
- /var/log/nginx、/var/log/httpd:Web 服务器日志(Nginx/Apache 专属)
实战演示(以清理系统日志为例):
- 进入日志目录:
cd /var/log |
- 查看大日志文件:
du -sh *.log # 比如`messages`、`secure`可能单个就几百MB |
- 安全删除(保留最新日志,删除旧文件):
sudo rm -f messages*.gz # 删除压缩的旧日志 sudo > messages # 清空当前正在使用的日志(谨慎!需确认服务可重启) |
进阶技巧:用logrotate工具自动管理日志(后续教你配置,避免手动清理)
四、第 3 招:卸载无用软件 + 清理缓存(释放安装包空间)
作用:删除再也不用的软件,顺便清理安装包缓存
分系统操作:
CentOS/RHEL 系(yum/dnf):
- 列出已安装软件(按大小排序):
dnf list installed --size | sort -k 4 -h # 看最后一列大小 |
- 卸载无用软件:
sudo dnf remove 软件名 # 比如卸载旧版Python:sudo dnf remove python3.6 |
- 清理缓存(重点!安装包默认保留):
sudo dnf clean all # 删除所有下载的rpm安装包,可释放GB级空间 |
Ubuntu/Debian 系(apt):
- 列出大体积软件:
dpigs -c # 按占用空间排序,显示前20大的已安装软件 |
- 卸载 + 自动删除依赖:
sudo apt purge 软件名 -y # 比如卸载旧版Docker:sudo apt purge docker.io sudo apt autoremove -y # 删除不再需要的依赖包 |
- 清理缓存:
sudo apt clean # 删除下载的.deb安装包,通常能省1-2GB |
五、第 4 招:查找并删除超大文件(精准打击 “巨无霸”)
作用:快速定位超过 1GB 的大文件(视频、备份文件常见)
核心命令:find + 按大小过滤
操作步骤:
- 扫描整个系统(从根目录开始,需管理员权限):
sudo find / -type f -size +1G 2>/dev/null # 查找大于1GB的文件 |
常见 “目标”:
- /home/user/下载目录的视频 / 压缩包/var/lib/docker的镜像文件(Docker 用户专属)/backup目录的旧备份文件
- 确认无用后删除:
sudo rm -rf /路径/超大文件 # 比如删除旧备份:sudo rm -rf /backup/old.zip |
安全提示:先通过ls -lh 路径确认文件用途,千万别删系统文件(如/etc、/usr/bin下的文件)!
六、第 5 招:清理用户目录垃圾(个人文件占比最高)
作用:用户下载的文件、未删的安装包是空间占用 “重灾区”
3 个必清目录:
- ~/下载:
rm -rf ~/下载/* # 清空下载目录(确认文件已备份!) |
- ~/.cache:软件缓存文件(如 Chrome 缓存、IDE 缓存):
du -sh ~/.cache # 经常占用几百MB,直接删除无影响 rm -rf ~/.cache/* |
- ~/.local/share/Trash:Linux 回收站(很多人不知道的隐藏空间):
du -sh ~/.local/share/Trash # 可能存着几个月前删除的大文件 rm -rf ~/.local/share/Trash/* # 彻底清空回收站 |
七、实战案例:5 招组合使用,释放 20GB 空间!
假设你有一台运行 3 年的服务器,按以下步骤操作:
- 临时文件:清空/tmp释放 1GB
- 日志文件:删除/var/log旧日志释放 3GB
- 无用软件:卸载 3 个旧服务释放 5GB,清理缓存省 2GB
- 超大文件:删除/backup目录的 3 个旧备份释放 8GB
- 用户垃圾:清空回收站 + 缓存释放 1GB合计释放 20GB+,磁盘使用率从 95% 降到 70%!
八、小白必看!3 个超级避坑指南
- 千万别删/根目录! 错误操作:sudo rm -rf /(会删光整个系统,无法恢复!) 正确做法:所有操作前先确认路径,用ls查看目录内容再删除
- 备份重要文件!清理前对/home/user、/backup等目录做一次备份(用tar -czvf backup.tar.gz 目录)
- 区分 “临时删除” 和 “彻底删除”
- 普通删除:rm只是删除引用,空间未真正释放(适合小文件)释放磁盘:删除后需确保无程序占用(大文件建议先停服务再删)
九、总结:5 招清理命令速查表,新手秒存!
清理场景 | CentOS/RHEL 系命令(yum/dnf) | Ubuntu/Debian 系命令(apt) | 通用命令(所有系统) |
临时文件 | sudo rm -rf /tmp/* | sudo rm -rf /tmp/* | du -sh /tmp && rm -rf /tmp/* |
日志文件 | sudo rm -f /var/log/*.gz | sudo rm -f /var/log/*.gz | cd /var/log && du -sh *.log |
无用软件 + 缓存 | sudo dnf remove 软件名 && dnf clean all | sudo apt purge 软件名 && apt clean | dpigs(Ubuntu 查看大软件) |
超大文件 | sudo find / -size +1G | sudo find / -size +1G | find / -type f -size +1G |
用户目录垃圾 | rm -rf ~/下载/* ~/.cache/* | rm -rf ~/下载/* ~/.cache/* | du -sh ~/*(查看用户目录) |
十、课后作业 + 互动时间!
现在打开你的 Linux 终端,输入df -h看看磁盘使用率,截图发评论区,我来帮你分析哪里最该清理~
如果遇到 “不敢删文件怕删坏系统”,把你想删除的文件路径留言,我来帮你判断是否安全!学会这 5 招,再也不用担心磁盘空间不足,下节课咱们讲《Linux 定时任务怎么设置?3 分钟学会自动备份文件,再也不怕数据丢失!》,记得点击右上角「关注」,干货不迷路~
下期预告:《Linux 定时任务怎么设置?3 分钟学会自动备份文件,再也不怕数据丢失!》(觉得有用就点赞收藏,转发给用 Linux 的朋友,一起告别 “磁盘焦虑”~)
用户解决 Linux 磁盘空间不足问题,步骤详细且兼顾不同系统。你对内容的实用性、案例选择有什么看法,或者还有其他 Linux 运维问题想了解,都可以随时告诉我。
相关推荐
- Linux 网络协议栈_linux网络协议栈
-
前言;更多学习资料(包含视频、技术学习路线图谱、文档等)后台私信《资料》免费领取技术点包含了C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,Z...
- 揭秘 BPF map 前生今世_bpfdm
-
1.前言众所周知,map可用于内核BPF程序和用户应用程序之间实现双向的数据交换,为BPF技术中的重要基础数据结构。在BPF程序中可以通过声明structbpf_map_def...
- 教你简单 提取fmpeg 视频,音频,字幕 方法
-
ffmpeg提取视频,音频,字幕方法(HowtoExtractVideo,Audio,SubtitlefromOriginalVideo?)1.提取视频(ExtractVi...
- Linux内核原理到代码详解《内核视频教程》
-
Linux内核原理-进程入门进程进程不仅仅是一段可执行程序的代码,通常进程还包括其他资源,比如打开的文件,挂起的信号,内核内部的数据结构,处理器状态,内存地址空间,或多个执行线程,存放全局变量的数据段...
- Linux C Socket UDP编程详解及实例分享
-
1、UDP网络编程主要流程UDP协议的程序设计框架,客户端和服务器之间的差别在于服务器必须使用bind()函数来绑定侦听的本地UDP端口,而客户端则可以不进行绑定,直接发送到服务器地址的某个端口地址。...
- libevent源码分析之bufferevent使用详解
-
libevent的bufferevent在event的基础上自己维护了一个buffer,这样的话,就不需要再自己管理一个buffer了。先看看structbufferevent这个结构体struct...
- 一次解决Linux内核内存泄漏实战全过程
-
什么是内存泄漏:程序向系统申请内存,使用完不需要之后,不释放内存还给系统回收,造成申请的内存被浪费.发现系统中内存使用量随着时间的流逝,消耗的越来越多,例如下图所示:接下来的排查思路是:1.监控系统中...
- 彻底搞清楚内存泄漏的原因,如何避免内存泄漏,如何定位内存泄漏
-
作为C/C++开发人员,内存泄漏是最容易遇到的问题之一,这是由C/C++语言的特性引起的。C/C++语言与其他语言不同,需要开发者去申请和释放内存,即需要开发者去管理内存,如果内存使用不当,就容易造成...
- linux网络编程常见API详解_linux网络编程视频教程
-
Linux网络编程API函数初步剖析今天我们来分析一下前几篇博文中提到的网络编程中几个核心的API,探究一下当我们调用每个API时,内核中具体做了哪些准备和初始化工作。1、socket(family...
- Linux下C++访问web—使用libcurl库调用http接口发送解析json数据
-
一、背景这两天由于一些原因研究了研究如何在客户端C++代码中调用web服务端接口,需要访问url,并传入json数据,拿到返回值,并解析。 现在的情形是远程服务端的接口参数和返回类型都是json的字符...
- 平衡感知调节:“系统如人” 视角下的架构设计与业务稳定之道
-
在今天这个到处都是数字化的时代,系统可不是一堆冷冰冰的代码。它就像一个活生生的“数字人”,没了它,业务根本转不起来。总说“技术要为业务服务”,但实际操作起来问题不少:系统怎么才能快速响应业务需求?...
- 谈谈分布式文件系统下的本地缓存_什么是分布式文件存储
-
在分布式文件系统中,为了提高系统的性能,常常会引入不同类型的缓存存储系统(算法优化所带来的的效果可能远远不如缓存带来的优化效果)。在软件中缓存存储系统一般可分为了两类:一、分布式缓存,例如:Memca...
- 进程间通信之信号量semaphore--linux内核剖析
-
什么是信号量信号量的使用主要是用来保护共享资源,使得资源在一个时刻只有一个进程(线程)所拥有。信号量的值为正的时候,说明它空闲。所测试的线程可以锁定而使用它。若为0,说明它被占用,测试的线程要进入睡眠...
- Qt编写推流程序/支持webrtc265/从此不用再转码/打开新世界的大门
-
一、前言在推流领域,尤其是监控行业,现在主流设备基本上都是265格式的视频流,想要在网页上直接显示监控流,之前的方案是,要么转成hls,要么魔改支持265格式的flv,要么265转成264,如果要追求...
- 30 分钟搞定 SpringBoot 视频推拉流!实战避坑指南
-
30分钟搞定SpringBoot视频推拉流!实战避坑指南在音视频开发领域,SpringBoot凭借其快速开发特性,成为很多开发者实现视频推拉流功能的首选框架。但实际开发中,从环境搭建到流处理优...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)