引
[更好的阅读体验](https://tropical-fish.cn/index.php/archives/206.html)
使用 rm 可以快速清理
相信大家在用久服务器后肯定会发现自己的服务器系统盘非常容易膨胀
虽然你可能只是有恐惧症罢了
这该如何解决?
花钱扩容硬盘,但是你既然都看到了这篇文章你应该不会使用这个方法吧
如果你要阅读这篇文章,你需要掌握的
- 正确连接到 ssh 服务器,在客户端使用
ssh root@<server_ip> - 正确使用
cd <d>来进入一个文件夹 - 正确使用
ls列出服务器文件 - 正确使用
rm [] <d/f>删除文件及重要参数例如r和f
实践
Warn & Info
一般的 web 服务器,有 nginx、php、mysql、docker、pma,我们清理 Linux 系统就从这些方面入手,假设你使用的是 Ubuntu 22.04 ,其他系统不一定能用,但是应该是通用的,只不过包含 apt 的命令是执行不了的
一定要先备份文件!!!避免重要文件被误删!!!
笼统的办法
这个办法非常通用,但是清理的效果不一定明显
日志文件
网站日志
日志文件应该没有什么人没看到他,这里一般包含 nginx 的访问日志,包括站点的访问日志,如果你的操作系统中,安装了宝塔,日志文件一般在 /www/wwwlogs 这个文件中,所以我们可以使用以下命令删除
cd /www # 进入 /www 目录
rm -rf /www/wwwlogs # 强制递归删除 /www/wwwlogs
mkdir wwwlogs # 再建立 wwwlogs 文件夹
系统日志
然后再入手系统日志,就是包括维护信息啥的,他在 /var/log ,同样删除
cd /var # 同上
rm -rf /var/log
mkdir log
systemctl 日志
然后删除 systemctl 的日志,但是这里使用 journalctl ,使用以下命令删除
journalctl --vacuum-time=7d # 清理 7 天前的 systemctl 日志
apt-get 日志
然后再清理 apt-get 的日志
apt 与 apt-get
交互式用户推荐使用 apt
脚本或自动化使用 apt-get
可使用以下命令删除
apt-get clean -y # -y 用于强制确认
缓存
Windows 中缓存位置位于 %temp% ,但是 linux 中是 /tmp/ 所以直接删除即可
rm -rf /tmp/* # 强制递归删除 /tmp/ 目录下的所有文件(夹)
不需要的软件包
使用 apt-get 清理不需要的软件包,也是可以的,但是有风险,这一般会删掉没有依赖或者废弃的软件包
apt-get autoremove --purge -y # -y 强制确认
更适用于自己的办法
这种方法就比较零散了,一般是人工/机械地产生大文件,需要你进行手动查找和删除,一般没什么作用
手动定位大文件
定位根目录下的大文件
合理使用 df 定位大文件
du -h --max-depth=1 / # 最大文件深度为 1 ,查找根目录下的,推荐设置为 1 ,然后再进一步查找
我这边查找到了根目录的每一个文件夹的大小
我这边发现 /home 目录似乎占用了过多的硬盘空间,为了演示,在 /home 目录里面查找大文件
定位二级目录的大文件
使用 cd 进入你怀疑有大文件的目录
然后再使用 df 查找,但是查找的目录要改成 rt
du -h --max-depth=1 /home # / 改成了 /home,即查找的目录
又列出了一些文件,再进入查找
定位三级目录的大文件
再次使用 cd
定位到三级的时候,一般需要使用 ls 查看了

这时候就要考研我们的 English 能力了,你但凡有小学六年级英语基础,你就应该发现 backup 是备份文件夹,里面肯定有一堆没用的文件
进入后,删掉没用的即可
rm -rf <d> # <d> 填文件夹的绝对路径,千万别填相对路径!!!可能会发生玄学事件
绝对路径是什么
例如,你在文件夹 /home/judge 下,该文件夹下有一个文件夹叫做 ry ,那么:
/home/judge/ry 是这个文件夹的绝对路径
/ry 是这个文件夹的相对路径
说人话,相对于当前文件夹的文件夹的路径叫做相对路径,相对于根目录的文件夹的路径叫做绝对路径 这不是长难句
如果你还想定位,那你继续定位
查找指定特点的大文件
合理使用 find 命令
find / -type f -size +1G 2>/dev/null
/ 根目录
-type f 查找选项为 file 文件并非文件夹
-size +1G 查找大于 1G 的文件
2>/dev/null 把权限错误的文件的输出放到 /dev/null

查找到手动删除即可


