在Linux环境下,经常遇到暂时无法删除文件,但需要清空文件内容的场景。比如日志文件,生成了大量的日志,而此时又无法直接删除该文件,因为程序可能正在使用。此时就可以考虑通过命令来清空文件中的内容来实现。
实现前提:对文件有写(write)权限。
清空实现:
以下均为完整的执行命令,将filename替换为要执行清空的文件即可。
方式一:
代码语言:javascript复制:> filename
方式二:
代码语言:javascript复制> filename
方式三:
代码语言:javascript复制echo "" > filename
方式四:
代码语言:javascript复制echo filename
方式五:
代码语言:javascript复制cat /dev/null > filename
其中,方式一、方式二、方式五,执行之后,对应的文件大小都是0KB,通过echo执行的两种方式文件大小都为1KB。也就是说,本质上通过echo方法是向文件中写入了数据。
个人建议通过第二种方式来进行清空,使用起来也简单方便。
而方式五,可以把/dev/null看做“黑洞”,所有写入它的内容都会永远消失,而尝试从她那里读取内容则什么也读不到。/dev/null在命令行和脚本中都非常有用。
博主简介:《SpringBoot技术内幕》技术图书作者,酷爱钻研技术,写技术干货文章。