我正在使用已达到其磁盘配额的ZFS系统。因此,rm
命令不再可用。但是,我可以将/dev/null
复制到特定文件以有效删除它们。
问题是我想清除的目录大小约为40GB,每个有任何周长的文件都埋在3个级别内。
是否有一种命令行方式可以轻松搜索并用/dev/null
替换这些文件?我可以在Python / Perl中轻松完成,但我想通过命令行尝试。
答案 0 :(得分:3)
编辑:这是评论中更好的答案:
find $DELDIR -type f -exec cp /dev/null "{}" \;
旧答案在这里:
find $DELDIR -type f | xargs cp /dev/null
其中$DELDIR
是要开始的目录的名称。-type f
选项仅针对文件,而不针对目录。当然,xargs
只需使用每行查找输出中的文件名关闭cp /dev/null
。
答案 1 :(得分:0)
仔细尝试:
find $DELDIR -type f | xargs cp -af /dev/null {} \;