我正在使用已达到其磁盘配额的 ZFS 系统。结果,rm
我不再可以使用该命令。但是,我可以复制/dev/null
到特定文件以有效地删除它们。
问题是我要清除的目录大小约为 40GB,每个有任何周长的文件都被埋在 3 个级别内。
是否有命令行方法可以轻松搜索和替换这些文件/dev/null
?我可以在 Python/Perl 中很容易地做到这一点,但是我想通过命令行尝试。
我正在使用已达到其磁盘配额的 ZFS 系统。结果,rm
我不再可以使用该命令。但是,我可以复制/dev/null
到特定文件以有效地删除它们。
问题是我要清除的目录大小约为 40GB,每个有任何周长的文件都被埋在 3 个级别内。
是否有命令行方法可以轻松搜索和替换这些文件/dev/null
?我可以在 Python/Perl 中很容易地做到这一点,但是我想通过命令行尝试。
编辑:这是在评论中找到的更好的答案:
find $DELDIR -type f -exec cp /dev/null "{}" \;
旧答案在这里:
find $DELDIR -type f | xargs cp /dev/null
where$DELDIR
是要开始的目录的名称。该-type f
选项仅针对文件,而不是目录。当然,最后xargs
只是cp /dev/null
从 find 输出的每一行中获取文件名。
仔细尝试:
find $DELDIR -type f | xargs cp -af /dev/null {} \;