如何在Linux CentOS系统上清除主系统驱动器上的空间?

T. *_*nes 3 linux centos

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

我有一个带有完全Ephemeral驱动器的Amazon EC2实例(包含所有系统文件的主驱动器).我安装Apache,MySQL,Sphinx,我的应用程序等所有目录都在一个单独的物理驱动器上,并且有短暂驱动器的符号链接.据我所知,没有任何数据或日志写入短暂的驱动器,所以我不确定该空间发生了什么.

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

我该怎么办?

Har*_*hof 16

du --max-depth=1 -h /
Run Code Online (Sandbox Code Playgroud)

其中/可以从根开始将告诉你在人类可读的形式(-H)的大小不经进一步递归进一步向下的任何目录.

一旦找到想要移除的大东西,就可以通过它来完成

rm <thing you want to remove>
Run Code Online (Sandbox Code Playgroud)

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

rm *.mp3      
Run Code Online (Sandbox Code Playgroud)

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

rm -r /dir/to/remove
Run Code Online (Sandbox Code Playgroud)

为了保护自己,建议将-i开关添加到每个rm调用,这会强制您确认要删除文件.

如果你想删除很多只读文件,那么你可以添加-f开关强制删除,这一点非常小心.

请注意rm接受多个参数,以便在指定绝对路径时确保在引号内执行或不使用任何空格,尤其是执行它时root,super特别是使用-r-f选项.(否则你会加入一群无意中rm -rf / some/directory/*杀死他们的人/)

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

find / -type f -size +100M
Run Code Online (Sandbox Code Playgroud)

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

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

find / -type f -size +100M -exec rm \{\} \;
Run Code Online (Sandbox Code Playgroud)

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

不要忘了,你可以添加-irm批准或者不批准的缺失.