linux 清空文件内容的方式
一、通过重定向来清空文件内容
-> 通过shell重定向null到指定文件即可
> access.log
-> 重定向 : 或 true 到指定文件
:> access.log
true > access.log
二、使用cat/cp/dd使用工具和/dev/null设备来清空文件内容
ps: /dev/null 是特殊文件,它将清空重定向到它的输出,而它输入是空白文件,什么内容也没有
关于/dev/null设备的详细内容可以参见:Shell—输入/输出重定向 https://blog.csdn.net/ltaihyy/article/details/53750438
Centos: 7 系统清空删除系统日志的方法: CentOS7 系统清空删除系统日志的方法 https://cloud.tencent.com/developer/article/1969592?from=15425
-> 可以使用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