宋子宪博客

Linux服务器上查找及清理大文件和大目录教程

1. 查看磁盘使用情况

首先,使用 df 命令来查看文件系统的磁盘使用情况,了解哪个分区的空间使用较高:

df -lh

此命令会以易读的格式列出所有挂载的文件系统的磁盘使用情况。

2. 查找大文件

要在整个文件系统中查找大于特定大小的文件,您可以使用 find 命令。例如,要查找大于100MB的文件,您可以执行:

find / -type f -size +100M

若要降低命令对系统性能的影响,您可以利用 niceionice 命令:

nice -n 19 ionice -c3 find / -type f -size +100M

如果您认为大文件可能位于特定目录下,例如 /var,您可以限制搜索范围:

find /var -type f -size +100M

3. 查找大目录

要找出占用空间较大的目录,您可以使用 du 命令。以下命令会显示根目录下每个一级子目录的大小,并通过 sort 命令按大小排序:

du -h --max-depth=1 / | sort -hr

为了查看特定目录下的子目录大小,您可以运行:

du --max-depth=1 -lh /path/to/directory

您可以逐级进入较大的目录,重复执行类似的 du 命令,以找到占用空间较大的子目录。

4. 清理文件和目录

在决定删除任何文件或目录之前,请务必确认这些文件或目录的用途,以免误删重要数据。一旦确认可以删除,您可以使用 rm 命令来删除文件或目录:

例如,要清理 /root/logs/csp 目录下以 command-center.log.2022 开头的文件,首先确认要删除的文件:

ls /root/logs/csp/command-center.log.2022*

确认无误后,执行删除:

rm /root/logs/csp/command-center.log.2022*

5. 清理缓存和临时文件

某些目录通常会占用较大空间,例如 /var/cache/var/log/tmp。您可以考虑清理这些目录下的旧文件或不再需要的文件。例如,清理APT缓存可以使用:

apt-get clean

6. 卸载不需要的软件包

如果您的系统上安装了很多不再需要的软件包,您可以考虑卸载它们以释放空间:

apt-get remove --purge package_name

7. 清理旧的内核版本

清理旧的内核版本也是释放 /boot 分区空间的一种常见方法,但请确保至少保留一个可工作的内核。您可以使用下列命令列出所有已安装的内核版本:

dpkg --list | grep linux-image

然后,您可以使用 apt-get remove 命令来删除旧的内核版本。

注意:

这个文档现在应该更加完整,涵盖了查找和清理大文件及大目录的多个方面,并提供了操作前的注意事项。如果您有其他特定的需求或场景,还可以进一步定制和完善这个文档。

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »