运维 | 清理 Linux 磁盘空间方法汇总

清理 Linux 磁盘空间方法汇总

前言

系统磁盘不够用或占满了,导致部分应用或程序无法正常使用。

本章节将记录一些常用或常见的方法清理系统磁盘(持续更新中)。

常见操作

查看磁盘使用情况

cd /
df -Th

查找大文件和目录(根目录)

du -sh /*

按照文件夹大小排序,查找该目录下前 10 的文件夹

du -h /var | sort -rh | head -n 10

使用实例

清理系统日志

  • 检查日志文件大小

在 Linux 系统中,日志文件可能会非常大,占用大量磁盘空间。您可以使用 ls 命令和 grep 命令来查看日志文件的大小并找出最大的几个文件。

例如,使用以下命令列出 /var/log 目录下最大的 10 个文件:

ls -lSr /var/log | grep ^- | tail | awk '{print $5, $9}'
  • 清空系统日志

将旧的系统日志归档并开始记录新的日志

journalctl --rotate

将清除早于 1 秒钟的日志条目

journalctl --vacuum-time=1s
  • 手动清理日志文件
find /var/log/ -type f -name "*.log" -delete
find /var/lib/docker/containers/ -type f -name "*.log" -delete
  • 清空已打开的日志文件

在某些情况下,已打开并写入的日志文件可能无法直接删除。在这种情况下,您可以使用以下命令将文件截断为零大小,并释放由该文件占用的磁盘空间:

sh -c 'truncate -s 0 /var/log/'

其中,是要截断的日志文件名。例如,清空 syslog 文件的命令如下:

sh -c 'truncate -s 0 /var/log/syslog'

删除临时文件和目录(需谨慎)

rm -rf /tmp/*
rm -rf /var/tmp/*

清理缓存

sync && sysctl -w vm.drop_caches=3

该命令将使 Linux 内核释放所有未使用的缓存页,并回收未使用的内存。请注意,这会导致系统性能下降,因为它会强制 Linux 重新加载从磁盘读取的文件。

删除不使用的软件包

sudo yum autoremove
apt-get autoremove

这将删除您已卸载但未自动删除的软件包。

删除无用的内核

package-cleanup --oldkernels

删除未使用的依赖项

package-cleanup --leaves

清理错误的 yum 缓存

yum clean all

清除 APT 缓存

apt-get clean
apt-get autoclean

删除旧的备份文件

find /path/to/backup/folder -type f -mtime +30 -delete

该命令将删除早于 30 天的所有备份文件。您可以根据需要更改 -mtime 选项的值来调整备份保留时间

清理 docker

  • 删除未使用的镜像
docker image prune

这个命令将删除未被任何容器使用的所有镜像。如果您想删除特定的镜像,请使用 docker rmi 命令。

  • 删除未运行的容器
docker container prune

这个命令将删除未在运行中的所有容器。如果您想删除特定的容器,请使用 docker rm 命令。

  • 删除未使用的卷
docker volume prune

这个命令将删除未被任何容器使用的所有卷。如果您想删除特定的卷,请使用 docker volume rm 命令。

FAQ

Linux –bash 无法为立即文档创建临时空间设备上没有空间

  • 问题描述

Linux:–bash 无法为立即文档创建临时空间:设备上没有空间

一般遇到这种情况就是磁盘占用满了;如果是日常运行服务的话,基本都是日志未定期清除占满了磁盘。

  • 解决方法

清理常规冗余文件

  1. 回到根目录
cd /
  1. 查看磁盘使用情况
df -Th

可以发现 / 根目录已经占满了

  1. 查看当前文件夹下面各个文件或则文件夹大小
du –max-depth=1 -h

查找占用空间大的文件或文件夹,进行合理的清理就行

清理 Docker 运行日志文件

在使用 docker 时,往往会出现磁盘空间不足,导致该问题的通常原因是因为 docker 中部署的系统输出了大量的日志内容

  1. 查看磁盘使用情况
df -Th
  1. 进入 docker 目录,并查看目录下文件大小
cd /var/lib/docker/
du -sh *
  1. 查找空间占用很高的目录,进入并清理日志文件
cd /var/lib/docker/containers/3571685f01a6d592c9a9f4fc0fb9bc571f945bcd0299c82dd8f0d79ef11eeb32

cat /dev/null > *-json.log

过滤出大小达到 G 的文件夹名:du -sh ./* | grep G | awk '{print $2}'

  • 快速处理

要查看 Docker 日志的大小,请运行以下命令:

du -hs /var/lib/docker/containers/*/*-json.log

这个命令将显示每个容器的日志大小,并将其按递增的顺序列出。用户可以从中找到 Docker 容器日志的大小,并确定是否需要进行操作

使用以下命令删除不需要的日志文件:

find /var/lib/docker/containers/ -name "*-json.log" | xargs rm -f

参考文献

### 回答1: 可以使用"df -h"和"du -sh"命令来清理磁盘空间。你好!要清理Linux硬盘空间的命令可以使用以下几个: 1. `du`:该命令可以用来查看文件或目录的磁盘使用情况。可以使用`-h`参数以人类可读的格式显示结果,例如:`du -h /home/user`。 2. `df`:该命令可以用来查看文件系统的磁盘空间使用情况。可以使用`-h`参数以人类可读的格式显示结果,例如:`df -h`。 3. `rm`:该命令可以用来删除文件或目录。注意,该命令是不可逆的,请谨慎使用。例如:`rm /home/user/file.txt`。 4. `find`:该命令可以用来查找文件或目录。可以使用`-name`参数指定要查找的文件名,例如:`find /home/user -name "*.txt"`。 希望这些命令能够帮助你清理Linux硬盘空间。 ### 回答2: 对于Linux系统,清理磁盘空间非常重要,因为随着时间的推移和文件的增加,磁盘空间会不断减少,为了保持系统运行的健康,我们需要对磁盘空间进行清理。下面列举一些常用的清理磁盘空间的命令。 1. rm命令:这是最基本的删除文件命令,rm命令可以用来删除单个文件、多个文件或者整个目录。例如,删除当前目录下的test.txt文件:rm test.txt 2. du命令:这是一个查看磁盘空间使用情况的命令,它可以用来查看每个文件夹所占的空间大小。例如,查看当前目录下以MB为单位的文件夹大小:du -h --max-depth=1 3. df命令:这个命令可以显示文件系统的可用空间和已用空间。例如,显示所有文件系统和磁盘使用情况的总结:df -h 4. find命令:这个命令可以用来查找指定的文件或目录。例如,查找当前目录下所有.txt文件:find . -name "*.txt" -print 5. locate命令:这是一个可以快速查找文件的命令,它利用数据库来查找文件,速度比find命令快很多。例如,查找所有以.conf结尾的文件:locate *.conf 6. logrotate命令:这个命令可以用来自动轮换日志文件,以便容易管理和防止空间占用过多。例如,手动调用logrotate来处理/var/log/messages日志文件:logrotate /etc/logrotate.d/messages 以上这些命令只是Linux清理磁盘空间的基础知识,根据具体情况,我们还可以使用其他命令来清理磁盘空间。在使用这些命令时,一定要小心,确保不会误删重要的文件或目录,而且最好备份数据。 ### 回答3: Linux是一款流行的开源操作系统,它有很多实用的命令来清理磁盘空间。 首先,你可以使用“du”命令来查看当前目录下所有文件的大小及其占用空间。命令如下: ``` du -sh * ``` 其中,“-s”选项表示只显示每个目录的总大小,“-h”选项表示以人类可读的方式输出文件大小。 其次,你可以使用“find”命令来定位并删除不需要的文件。例如,你可以使用以下命令来删除30天前的所有“.log”文件: ``` find /var/log -name "*.log" -mtime +30 -exec rm -rf {} \; ``` 其中,“/var/log”是要搜索的目录,“-name”选项表示要搜索的文件名模式,“-mtime”选项表示要搜索的文件修改时间(这里是30天前),“-exec”选项表示要执行的命令(这里是删除文件),“{}”将被搜索到的文件名传递给命令,而“\;”表示命令结束。 另外,你可以使用“df”命令来查看文件系统的使用情况。例如,以下命令会显示当前所有挂载的文件系统的磁盘使用情况: ``` df -h ``` 其中,“-h”选项表示以人类可读的方式输出磁盘空间使用情况。 需要注意的是,在使用上述命令删除文件时,一定要小心操作。如果不小心删除了系统关键文件,可能会导致系统无法启动或数据丢失。因此,在执行删除命令前,请一定要仔细检查和确认要删除的文件。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Appleex

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值