云网牛站
所在位置:首页 > Linux教程 > 在Linux系统中清空日志文件的方法

在Linux系统中清空日志文件的方法

2019-02-10 21:10:22作者:曾宽稿源:云网牛站

在Sysadmin生命周期的某个时刻,你可能需要清空日志文件以节省系统磁盘空间,有多种方法可以在Linux系统中清空文件,本文就给大家介绍。

 

使用truncate命令清空日志文件

在Linux系统中清空日志文件的最安全方法是使用truncate命令,Truncate命令用于将每个FILE的大小缩小或扩展到指定的大小:

truncate -s 0 logfile

其中-s用于通过SIZE字节设置或调整文件大小,该文件可以相对于当前目录或提供的文件的绝对路径。

对于完整的命令选项,请使用选项--help来查看,如下:

在Linux系统中清空日志文件的方法

参考:truncate命令_Linux truncate命令使用详解:将文件缩减或扩展至指定大小

 

使用以下命令清空日志文件:>或true >

你还可以使用:>清除文件内容,语法是:

:> logfile

这相当于:

true > logfile

以下是例子:

在Linux系统中清空日志文件的方法

 

使用echo命令清空日志文件

如果你对文件没有回显,它将清除内容以清空它:

echo "" > logfile

这是一样的:

echo> testfile

参考:echo命令_Linux echo命令使用详解:输出指定的字符串或者变量

 

使用dd命令清空日志文件

使用dd命令的语法是:

dd if=/dev/null of=logfile

或者:

dd if=/dev/null > logfile

见下面的例子:

$ ls -l testfile 

-rw-r--r-- 1 jmutai jmutai 1338 Feb  10 13:07 testfile

$ [jmutai@arch tmp]$ ls -l testfile 

-rw-r--r-- 1 jmutai jmutai 1338 Feb  10 13:07 testfile

[jmutai@arch tmp]$ dd if=/dev/null of=testfile 

0+0 records in

0+0 records out

0 bytes copied, 0.000322652 s, 0.0 kB/s

[jmutai@arch tmp]$ ls -l testfile 

-rw-r--r-- 1 jmutai jmutai 0 Feb  10 13:33 testfile

对于多个文件,bash中的简单循环应该足够了:

for file in logfile1 logfile2 logfile2 ... ; do

truncate -s 0 $file 

or

dd if=/dev/null of=$file

or

:>$file

done

参考:dd命令_Linux dd命令使用详解:复制文件并对原文件的内容进行转换和格式化处理

 

相关主题

使用Lnav在Linux系统上检查日志文件

精选文章
热门文章