活到老学到老  

记录遇到问题的点点滴滴。

Linux批量清理多个文件内容而不删除文件

6年前发布  · 1013 次阅读
for i in `find . -name "*.log"`; do cat /dev/null >$i; done

上面语句要在当前目录执行,也就是,要跳转到/logs下面执行此语句。

这条语句还可以是:

for i in `find . -name "*.log"`; do echo >$i; done

但是用echo >执行的清理文件并非完全为空的,而是有4K大小,而用cat /dev/null >清理的文件内容大小完全为0。