有时,在处理与Linux终端的文件,你可能要清除文件的内容,而无需使用任何必要将其打开Linux命令行编辑器 。如何实现呢?在本文中,我们将通过一些有用的命令的帮助,通过几种不同的方式来清空文件内容。
注意 :在我们开始寻找各种方式,请注意,因为在Linux的一切都是一个文件 ,你必须始终确保您清空文件(S)并不重要用户或系统文件。清除关键系统或配置文件的内容可能导致致命的应用程序/系统错误或故障。
说到这里,下面是从命令行清除文件内容的方法。
重要提示 :对于本文的目的,我们使用的文件access.log
在下面的例子。
1.通过重定向到空,清空文件内容
一个最简单的方法为空或空白使用shell重定向文件内容null
(不存在的对象),如下文件:
# > access.log
2.使用’true’命令重定向空文件
在这里,我们将使用一个符号:
是内置的命令的壳,它等效本质到true
命令,它可以被用来作为一个无操作(无操作)。
另一种方法是重定向输出:
或true
内置命令,像这样的文件:
# : > access.log OR # true > access.log
3.空文件使用具有 /dev/null 的 cat/cp/dd 实用程序
在Linux中, null
设备基本上是用于一个过程不必要的输出流丢弃,否则作为一个合适的空文件输入流。这通常通过重定向机制来完成。
和/dev/null
设备文件因此写入过(删除)发送给它的任何输入一个特殊的文件或它的输出是一样的一个空文件。
此外,还可以通过重定向输出一个空文件内容/dev/null
使用作为输入到它(文件) cat命令 :
# cat /dev/null > access.log
接下来,我们将使用cp命令空白文件内容,如图所示。
# cp /dev/null access.log
在下面的命令, if
装置在输入文件和of
指输出文件。
# dd if=/dev/null of=access.log
4.使用echo命令清空文件
在这里,你可以使用echo命令用一个空字符串,并将其如下重定向到文件中:
# echo "" > access.log OR # echo > access.log
注意 :您要记住,一个空字符串是不一样的空。字符串已经是一个对象,因为它可能是空的,而null简单地意味着不存在对象。
出于这个原因,当你重定向出的echo命令以上到该文件,并使用查看文件内容cat命令 ,是打印一个空行(空字符串)。
要发送一个空输出到文件,使用标志-n
告诉echo不输出其后的换行符,导致在前面的命令产生的空行。
# echo -n "" > access.log
5.空文件使用truncate命令
将truncate命令有助于收缩或文件的大小扩大到规定的尺寸。
您可以通过使用它-s
指定了文件大小选项。要清空文件内容,请使用下一个命令中的大小0(零):
# truncate -s 0 access.log
这就是现在,在这篇文章中,我们已经涵盖了使用简单的命令行实用程序和shell重定向机制清除或清空文件内容的多种方法。
这些可能不是唯一可用的实践方法,所以你也可以通过下面的反馈部分告诉我们本指南中没有提到的任何其他方法。