如何确定运行rm -rf时释放的空间量

时间:2015-03-06 15:09:48

标签: linux unix diskspace rm hardlink

这是我今天遇到的一个很好的系统管理员问题,也许这里有人知道解决方案。问题很简单:我想事先知道在Linux上执行rm -rf命令时释放了多少磁盘空间。

请注意,仅使用du将无效,因为可能存在从rm -rf命令未删除的目录中硬链接的文件。

1 个答案:

答案 0 :(得分:0)

du通常只计算一次硬链接文件,因此du -sk some/directory应该可以正常工作。

# ls -li
total 2048
131346 -rw-r--r-- 2 root root 1048576 Mar  6 13:12 file1
131346 -rw-r--r-- 2 root root 1048576 Mar  6 13:12 file2
# du -sk file1
1024    file1
# du -sk file2
1024    file2
# du -sk .
1028    .

额外的4k用于目录本身,但请注意,它并未声称此目录使用了2M ...

但是,正如您所观察到的,这不会考虑目标之外的硬链接。如果不编写遍历整个目录层次结构的脚本来查找文件的所有其他链接,可能没有一种简单的方法... du将报告上限,但是你会得到一些数量的小于或等于du报告的空格。