linux 清空文件内容的方式

Posted pingzhuyan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 清空文件内容的方式相关的知识,希望对你有一定的参考价值。

目录

一、通过重定向来清空文件内容

  -> 通过shell重定向null到指定文件即可

-> 重定向 : 或 true 到指定文件

二、使用cat/cp/dd使用工具和/dev/null设备来清空文件内容

-> 可以使用cat命令查看/dev/null文件的内容,然后重定向输出到指定文件清空

-> 也可以使用 /dev/null文件的内容复制到指定文件进行请空

三、使用echo命令清空文件内容

-> echo 将空串重定向到指定文件(两种)

-> 要想彻底清空文件内容,可以使用echo命令的-n选项

四、使用truncate命令来清空文件内容

-> truncate 将一个文件缩小或扩展到给定的大小

-s 指定文件的大小


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 清空文件内容的方式的主要内容,如果未能解决你的问题,请参考以下文章

linux清空日志文件内容 比如log日志

Linux下清空或删除大文件内容的5种方法

Linux清空日志文件内容

Linux下使用echo命令清空文件内容

Linux下使用echo命令清空文件内容

linux 清空大文件内容