3

对不起,如果这听起来很愚蠢,但我不知道该怎么做。

我有一个带有完全完整的临时驱动器(包含所有系统文件的主驱动器)的 Amazon EC2 实例。我安装了 Apache、MySQL、Sphinx、我的应用程序等的几乎所有目录都位于单独的物理驱动器上,并且具有来自临时驱动器的符号链接。据我所知,他们的数据或日志都没有写入临时驱动器,所以我不确定空间发生了什么。

显然很多系统的东西仍然在临时驱动器上,但我不知道如何清理东西以腾出空间。我最好的猜测是亚马逊在对系统进行一些自动更新时填充了驱动器。我正在尝试安装一些新软件包,并通过 YUM 更新我的所有系统软件包,但驱动器没有空间。

我应该怎么办?

4

3 回答 3

16
du --max-depth=1 -h /

where /can be any directory start from root 将以人类可读的形式(-h)向您显示大小,而无需进一步向下递归。

一旦你找到你想要删除的大东西,你可以通过

rm <thing you want to remove>

这接受外壳扩展,例如删除所有 mp3 文件:

rm *.mp3      

如果它是一个目录,那么你需要添加-r

rm -r /dir/to/remove

为了保护自己,建议将-i开关添加到每个rm呼叫中​​,这会迫使您承认您希望删除文件。

如果您要删除很多只读文件,则可以添加-f开关以强制删除,对此要非常小心。

请注意rm接受多个参数,因此当您指定绝对路径时,请确保在引号内执行此操作或不要有任何空格,尤其是当您执行它时rootsuper尤其是使用-rand-f选项。(否则你会加入那些无意中rm -rf / some/directory/*杀死他们的人)/

如果您只想查找大文件并删除它们,那么您也可以使用find

find / -type f -size +100M

将仅搜索-type f大小 > 100MB ( ) 的文件 ( -size +100M)

随后您可以使用相同的命令删除它们。

find / -type f -size +100M -exec rm \{\} \;

-exec执行一个程序,该程序通过它找到的文件或文件夹(\{\}),需要终止\;

不要忘记您可以添加-irm批准或不批准删除。

于 2012-07-03T18:21:26.817 回答
1

您可以使用 unix 磁盘实用程序命令du来查看哪些内容占用了初学者的所有空间。

于 2012-07-03T18:10:33.127 回答
0

这很好用。在更大的驱动器(超过几百 GB)上可能需要几分钟:

find /directory/to/scan/ -type f -exec du -a {} + | sort -n -r | less

输出将首先是最大的文件。您可以使用普通的“less”命令对结果进行翻页...空格键(下一页)和 b(上一页)。

于 2013-07-28T18:31:15.100 回答