linux 操作系统中清空文件内容的两种方式对比
方式 1:删除文件后再创建 rm -f file_name && touch file_name
会导致文件 inode 发生变化,如果某些运行中的进程是通过 inode 访问该文件,它们依然持用旧 inode,会导致写入失败。
所以这种方式不适合清空运行中被其他进程使用的文件。
方式 2:使用重定向清空文件内容 : > file_name 或 > file_name
这种方式不会删除文件,而是用空输出覆盖文件内容,所以文件的 inode 不会发生改变。
: 是 shell 的空命令(no-op),这个命令的返回值永远是0,它不产生任何输出,因此通过重定向可以安全清空文件
浙公网安备 33010602011771号