我的硬盘已满 - 如何确定占用空间的内容?

我的硬盘已满 - 如何确定占用空间的内容?

我的 Mint-KDE 18 根分区有 20GB。没有额外的主分区。我没有做任何特别的事情,只是 Chrome、KRDC、Teamviewer,分区有一半是空的。我做的一件事是通过 samba 将 Dolphin 从互联网上的 webdavs 存储库复制到我的网络驱动器。我的电脑上没有存储任何内容。

现在我收到消息说我的磁盘已满。当我在 Dolphin 中打开根目录或主目录时,它显示 0 MB 可用空间。

通过终端查看我的目录和文件的最快方法是什么,最大的第一个还是最新的等?

答案1

du -h -d 1 /

这将以“人类可读”的格式显示根目录中所有顶级目录的大小。你也可以这样做

du -h -d 1 / | grep '[0-9]\+G' 

只看到那些占用几GB或更多的。

要获得更精细的详细信息,请执行类似的操作

ls -R -shl / | grep '^[0-9.]\{4,12\}\+[KG]'

这将显示根目录及其下所有大小为 1G 或以上的文件。

** 请注意,您可能需要添加sudo到上面的命令前面。

编辑——刚刚看到你希望它们按最新或最大排序

尝试这个

du -h -d 1 / | grep '[0-9]\+G' | sort -h

答案2

我推荐一个专门为此目的构建的工具,而不是其他答案中的所有手动命令:ncdu,使用您选择的包管理器进行安装。

它只是一个小型命令行实用程序,因此只要腾出一点空间就应该能够安装。

然后,只需运行

$ ncdu /

来分析整个系统。

https://dev.yorhel.nl/ncdu/scr截图: 在此输入图像描述

答案3

为此,我最喜欢的命令是

du | sort -nr | head -20

du不带选项列出所有子目录及其大小。
sort按大小排序。n要求进行数字排序。r首先将结果反转为最大。
head -20将输出限制为 20 行。

通过列出目录而不是文件,您会发现包含大量小文件的目录。

为了sort正常工作,我们不能使用人类可读的输出,但最大的就是最大的,即使你不能完全解析它的大小。

目录的输出将包括其子目录,因此您将看到.cache之前列出的内容.cache/chromium(或其他内容)

答案4

在运行其他人建议的更耗时的du -h命令之前,请查看一些可以轻松清除且通常包含垃圾的文件夹。du -h如果它们包含大量文件,您可能需要在每个文件中,在全局du -h.

  1. /tmp
  2. /var/tmp;但之前要更加小心,请参阅这一页在网站上了解它与 的不同之处/tmp
  3. /home/your_user_name- 你的主目录:你很可能在这里下载了一些大文件并忘记了它们,或者构建了一些提取/生成大量数据但不删除它的东西等等。当然,这里的文件大部分是你的文件放置,因此您应该知道哪些内容可以安全删除,哪些内容不可以。
  4. /opt并且/usr/local- 与您的具体情况无关,因为您表示您没有安装任何特殊的东西,但对于阅读此问题的其他人来说 - 这些是安装不属于您的 Linux 发行版的软件的典型目的地。确保您确实需要该软件,而不只是将其闲置。

相关内容