cat /dev/null > file后,ls查看文件大小未减小,du查看变为0
一句话总结:
其他程序正在使用command > file
写入文件;将command程序kill后使用command >> file
写入文件,即可在command写入file时,用cat /dev/null > file
清空file
原因:
command > file
写入文件时,当前一行写入时,文件指针定位在前一个文件指针位置之后,并从文件开始到该指针位置用空字节填充文件\0
,因此,日志文件的大小将与截断日志文件之前的大小相同。command >> file
写入文件时,文件以“追加模式”(append)写入,在写入下一行之前,它将始终将文件指针移动到文件末尾。你可以随时使用cat /dev/null > file
清空日志或者其他命令截断日志