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

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

/ dev /空

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

# Original file size
$ls-lt
-rw-rw-r-- 1 ubuntu ubuntu 2925 Jan 1 08:39 ref_file.txt
# Redirect the output from /dev/null
$ cat /dev/null > ref_file.txt
-rw-rw-r-- 1 ubuntu ubuntu 0 Jan 1 09:35 ref_file.txt

回声

输出为空的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 Jan 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

使用截断

使用带有大小选项为0的truncate命令会使目标文件为空。

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

使用触控

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