如何将 VMware 映像文件内的文件清零以便回收其空间?

如何将 VMware 映像文件内的文件清零以便回收其空间?

Linux 上是否有命令可以删除文件但首先将其内容清零?

所以如果我这样做,会是这样的:

rm -rf /var/cache/pacman/pkg/*

它会用 0 值覆盖该目录中的每个文件,然后将其删除

我需要它来压缩我的 VMware 映像文件,而无需先创建包含零的超大文件。

答案1

shred 命令可以将文件清零。为了做你想做的事,我认为这样的事情应该有效

find /var/cache/pacman/pkg -type f -exec shred -n 0 -z {} \; \
    && rm -rf /var/cache/pacman/pkg/*

答案2

你可以用命令来做到这一点shred

shred -z -u <filename>

-z选项使文件变为零,然后-u选项将删除文件。

答案3

您还可以使用该工具zerofree将磁盘上所有未使用的块清零。这可以为您节省大量空间。

此方法将要求您启动到替代操作系统,例如芬尼克斯。你也可以使用分开的魔法附带安装了zerofree。

例子

使用芬尼克斯:

$ sudo apt-get update && sudo apt-get install -y zerofree

安装后,您可以在整个分区上运行此工具,如下所示:

$ sudo zerofree -v /dev/sda1

然后断电:

$ sudo poweroff

参考

答案4

我不明白你指的是 zeoring。如果你想将文件截断为 0B,你可以使用> filetotruncate.txt.例如:

$ ls -lh file
-rw-r--r-- 1 user user 94M sep 25 17:27 file
$> file && ls -lh file
-rw-r--r-- 1 user user 0 sep 25 17:28 file

相关内容