递归复制 /dev/null 到文件模式

Recursively copy /dev/null to file pattern

我使用的 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

其中 $DELDIR 是开始目录的名称。-type f 选项仅针对文件,而不针对目录。当然,xargs 刚刚结束了 cp /dev/null 的每一行查找输出的文件名。

仔细尝试:

find $DELDIR -type f | xargs cp -af /dev/null {} \;