cat /dev/null > file后,ls查看文件大小未减小,du查看变为0

一句话总结:

其他程序正在使用command > file写入文件;将command程序kill后使用command >> file写入文件,即可在command写入file时,用cat /dev/null > file清空file

原因:

  1. command > file写入文件时,当前一行写入时,文件指针定位在前一个文件指针位置之后,并从文件开始到该指针位置用空字节填充文件\0,因此,日志文件的大小将与截断日志文件之前的大小相同。
  2. command >> file写入文件时,文件以“追加模式”(append)写入,在写入下一行之前,它将始终将文件指针移动到文件末尾。你可以随时使用cat /dev/null > file清空日志或者其他命令截断日志
posted @ 2021-03-02 09:38  newconn  阅读(923)  评论(0编辑  收藏  举报