如何在 Linux 中清空或删除大型文件内容?

operating systemlinuxmca

通常,一个不断增长的文件需要不时清空,以便接受下一个操作的最新数据。清空文件的机制有很多种,我们将在下面逐一介绍。常见的方法是使用 > 符号覆盖目标文件,该符号应该来自空的源文件。

/dev/null

这是一种常用方法,我们输出空结果,然后将该结果重定向到目标文件。

# 原始文件大小
$ls-lt
-rw-rw-r-- 1 ubuntu ubuntu 2925 Jan 1 08:39 ref_file.txt
# 重定向 /dev/null 的输出
$ cat /dev/null > ref_file.txt
-rw-rw-r-- 1 ubuntu ubuntu 0 Jan 1 09:35 ref_file.txt

echo

echo 命令输出为空也会使目标文件变为空。

$ls-lt
-rw-rw-r-- 1 ubuntu ubuntu 2925 Jan 1 08:39 ref_file.txt
$echo > ref_file.txt
$ls –lt
-rw-rw-r-- 1 ubuntu ubuntu 0 Jan 1 09:36 ref_file.txt

使用 >

仅在文件名前添加 > 即可使其变为空。我们也可以只使用冒号 (:) 来获得相同的结果。

$ls-lt
-rw-rw-r-- 1 ubuntu ubuntu 2925 1月 1 08:39 ref_file.txt
$ > ref_file.txt
$ls –lt
-rw-rw-r-- 1 ubuntu ubuntu 0 Jan 1 09:39 ref_file.txt

使用 truncate

使用 truncate 命令并将 size 选项设置为 0 将使目标文件为空。

$ truncate s -0 ref_file.txt
$ ls-lt
-rw-rw-r-- 1 ubuntu ubuntu 0 Jan 1 09:41 ref_file.txt

使用 touch

$ touch ref_file.txt
$ ls-lt
-rw-rw-r-- 1 ubuntu ubuntu 0 Jan 1 09:45 ref_file.txt

相关文章


有用资源