在Sysadmin生命周期的某个时刻,你可能需要清空日志文件以节省系统磁盘空间,有多种方法可以在Linux系统中清空文件,本文就给大家介绍。
使用truncate命令清空日志文件 在Linux系统中清空日志文件的最安全方法是使用truncate命令,Truncate命令用于将每个FILE的大小缩小或扩展到指定的大小: truncate -s 0 logfile 其中-s用于通过SIZE字节设置或调整文件大小,该文件可以相对于当前目录或提供的文件的绝对路径。 对于完整的命令选项,请使用选项--help来查看,如下:
参考:truncate命令_Linux truncate命令使用详解:将文件缩减或扩展至指定大小
使用以下命令清空日志文件:>或true > 你还可以使用:>清除文件内容,语法是: :> logfile 这相当于: true > logfile 以下是例子:
使用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命令使用详解:复制文件并对原文件的内容进行转换和格式化处理
相关主题 |