Linux 清空文件内容

2021-12-07 15:11:04 浏览数 (1)

在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技术内幕》技术图书作者,酷爱钻研技术,写技术干货文章。

0 人点赞