linux 清空文件内容的方式
Posted pingzhuyan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 清空文件内容的方式相关的知识,希望对你有一定的参考价值。
目录
二、使用cat/cp/dd使用工具和/dev/null设备来清空文件内容
-> 可以使用cat命令查看/dev/null文件的内容,然后重定向输出到指定文件清空
-> 也可以使用 /dev/null文件的内容复制到指定文件进行请空
Linux系统中清空或删除文件, 注意查看是否是系统文件
一、通过重定向来清空文件内容
-> 通过shell重定向null到指定文件即可
> access.log
-> 重定向 : 或 true 到指定文件
:> access.log
true > access.log
二、使用cat/cp/dd使用工具和/dev/null设备来清空文件内容
ps: /dev/null 是特殊文件,它将清空重定向到它的输出,而它输入是空白文件,什么内容也没有
关于/dev/null设备的详细内容可以参见:Shell—输入/输出重定向
Centos: 7 系统清空删除系统日志的方法: CentOS7 系统清空删除系统日志的方法
-> 可以使用cat命令查看/dev/null文件的内容,然后重定向输出到指定文件清空
cat /dev/null > access.log
-> 也可以使用 /dev/null文件的内容复制到指定文件进行请空
cp /dev/null access.log
三、使用echo命令清空文件内容
-> echo 将空串重定向到指定文件(两种)
echo "" > access.log
echo > access.log
-> 要想彻底清空文件内容,可以使用echo命令的-n选项
该选项将告诉echo,不再输出一个空白行
echo -n "" > access.log
四、使用truncate命令来清空文件内容
-> truncate 将一个文件缩小或扩展到给定的大小
-s 指定文件的大小
truncate -s 0 access.log
linux清空文件内容
应用场景:
当tomcat运行时,tomcat的日志文件会被tomcat进程锁定,强制删除是会失败的。如果想要立即清空文件内容,可以使用如下几种方式。
(1)使用空流覆盖文件,完成一次写入操作
#最简单的方式 > access_log.log #空字符串流 echo "" > access_log.log #空操作流(等同于 : > access_log.log) true > access_log.log #空文件 cat /dev/null > access_log.log
(2)空文件拷贝
#/dev/null是一个很特殊的文件,其内容本身为空 cp /dev/null access.log
(3)流式处理
#if是输入流,of是输出流 dd if=/dev/null of=access.log
参照网站
https://www.jb51.net/article/100462.htm
以上是关于linux 清空文件内容的方式的主要内容,如果未能解决你的问题,请参考以下文章