有没有更快的方法来删除目录然后简单地提交
rm -r -f *directory*
?我问这个是因为我们每天的跨平台构建非常庞大(例如每个构建 4GB)。所以有些机器上的硬盘经常用完空间。
这就是我们的 AIX 和 Solaris 平台的情况。
也许这些平台上有用于目录删除的“特殊”命令?
粘贴编辑(将我自己的单独答案移到问题中):
我通常想知道为什么'rm -r -f' 这么慢。 'rm' 不只需要修改 '..' 或 '.'文件以取消分配文件系统条目。
类似
mv *directory* /dev/null
会很好。
最佳答案
要从文件系统中删除目录,rm 是您最快的选择。 在 linux 上,有时我们在 ramdisk 中进行构建(几 GB),它的删除速度非常令人印象深刻 :) 你也可以尝试不同的文件系统,但在 AIX/Solaris 上你可能没有太多选择......
如果您的目标是让目录 $dir现在为空,您可以重命名它,并稍后从后台/cron 作业中删除它:
mv "$dir" "$dir.old"
mkdir "$dir"
# later
rm -r -f "$dir.old"
另一个技巧是你为 $dir 创建一个单独的文件系统,当你想删除它时,你只需重新创建文件系统。像这样的:
# initialization
mkfs.something /dev/device
mount /dev/device "$dir"
# when you want to delete it:
umount "$dir"
# re-init
mkfs.something /dev/device
mount /dev/device "$dir"
关于build - Unix : fast 'remove directory' for cleaning up daily builds,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1795370/