5种在Linux中清空或清空大型文件内容的方法

有时,在处理与Linux终端的文件,你可能要清除文件的内容,而无需使用任何必要将其打开 Linux命令行编辑器 。如何实现呢?在本文中,我们将通过一些有用的命令的帮助,通过几种不同的方式来清空文件内容。 注意 :在我们开始寻找各种方式,请注意,因为在 Linux的一切都是一个文件 ,你必须始终确保您清空文件(S)并不重要用户或系统文件。清除关键系统或配置文件的内容可能导致致命的应用程序/系统错误或故障。 说到这里,下面是从命令行清除文件内容的方法。 重要提示 :对于本文的目的,我们使用的文件 access.log在下面的例子。

1.通过重定向到空,清空文件内容

一个最简单的方法为空或空白使用shell重定向文件内容 null (不存在的对象),如下文件:
# > access.log

在Linux中使用空重定向空大文件

2.使用'true'命令重定向空文件

在这里,我们将使用一个符号 :是内置的命令的壳,它等效本质到 true命令,它可以被用来作为一个无操作(无操作)。 另一种方法是重定向输出 :true内置命令,像这样的文件:
# : > access.log
OR 
# true > access.log

使用Linux命令清空大文件

3.空文件使用具有 /dev/null 的 cat/cp/dd 实用程序

在Linux中, null设备基本上是用于一个过程不必要的输出流丢弃,否则作为一个合适的空文件输入流。这通常通过重定向机制来完成。 和 /dev/null设备文件因此写入过(删除)发送给它的任何输入一个特殊的文件或它的输出是一样的一个空文件。 此外,还可以通过重定向输出一个空文件内容 /dev/null使用作为输入到它(文件) cat命令
# cat /dev/null > access.log

空文件使用cat命令

接下来,我们将使用 cp命令空白文件内容,如图所示。
# cp /dev/null access.log

空文件内容使用cp命令

在下面的命令, if装置在输入文件和 of指输出文件。
# dd if=/dev/null of=access.log

使用dd命令清空文件内容

4.使用echo命令清空文件

在这里,你可以使用 echo命令用一个空字符串,并将其如下重定向到文件中:
# echo "" > access.log
OR
# echo > access.log

空文件使用echo命令

注意 :您要记住,一个空字符串是不一样的空。字符串已经是一个对象,因为它可能是空的,而null简单地意味着不存在对象。 出于这个原因,当你重定向出的 echo命令以上到该文件,并使用查看文件内容 cat命令 ,是打印一个空行(空字符串)。 要发送一个空输出到文件,使用标志 -n告诉 echo不输出其后的换行符,导致在前面的命令产生的空行。
# echo -n "" > access.log

使用空重定向的空文件

5.空文件使用truncate命令

truncate命令有助于 收缩或文件的大小扩大到规定的尺寸。 您可以通过使用它 -s指定了文件大小选项。要清空文件内容,请使用下一个命令中的大小0(零):
# truncate -s 0 access.log

在Linux中截断文件内容

这就是现在,在这篇文章中,我们已经涵盖了使用简单的命令行实用程序和shell重定向机制清除或清空文件内容的多种方法。 这些可能不是唯一可用的实践方法,所以你也可以通过下面的反馈部分告诉我们本指南中没有提到的任何其他方法。
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏