如何在 Linux 中清空日志文件

您会发现自己处于需要清空文件的情况。 当您拥有大量日志文件时,通常会发生这种情况,您将如何做到这一点?

一种不太干净的方法是删除文件,然后创建一个新文件。 但这不是一个好主意。 它不会是同一个文件,时间戳(atime、mtime 等)将与其他文件权限不同。

您可以删除其内容,而不是创建新的空文件。 那么,如何在 Linux 中清空文件呢? 如何从文件的所有内容中清除文件而不删除实际文件?

在 Linux 中清空文件的 4 种方法

有几种方法可以清空文件而不实际删除文件。 让我向您展示其中的一些方法。

方法一:使用 truncate 命令截断文件

截断日志文件最安全的方法是使用 truncate 命令。

truncate -s 0 filename

在上述命令中,-s 用于设置/调整文件的大小(以字节为单位)。 当您使用 -s 0 时,这意味着您将文件大小调整为 0 字节。 在

方法 2:使用 :> 或 > 清空文件

清空文件的最简单方法是使用以下命令。 如果该文件未在使用中,它将在 Bash 中工作:

> filename

虽然以上仅适用于 Bash Shell,但您可以对其他 shell 使用类似的命令:

:> filename

您还可以使用此命令清除文件:

true > filename

方法3:在Linux中使用echo命令清空文件

清空文件的另一种方法是通过 Linux 中的 echo 命令:

echo > filename

您也可以通过这种方式使用 echo 命令:

echo "" > filename

方法四:使用 /dev/null 清除文件

您还可以使用著名的 /dev/null 并结合 cat 命令清除日志文件:

cat /dev/null > file.log

到底…

如果您对上述任何命令都没有足够的权限,那么这是肯定的,但实现它的方式有点肮脏:

touch newfile
mv newfile filename

你也可以通过删除 Vim 编辑器中的所有行来清空文件。

如果您的目标是清除日志文件并腾出一些可用空间,您应该了解如何清理日志日志。

我希望这个快速提示可以帮助您在 Linux 中清除文件。 请为我们添加书签以获取更多 Linux 快速提示。