如何在Linux中清空文件内容
删除UNIX/Linux中的文件与发出RM命令一样简单。
但在本教程中,我们显示了一些将为Linux中的文件(截断)文件而不是删除它的方法。
这意味着文件的内容将被删除而不是文件本身。
1)Truncate命令
使用带有-s 0
选项的truncate将文件大小设置为零。
例如,下面的命令将将"kern.log"文件大小设置为零
sudo truncate -s 0 /var/log/kern.log
$sudo du -sh kern.log 48K kern.log $sudo truncate -s 0 /var/log/kern.log $sudo du -sh kern.log 0 kern.log $
我们可以为以下文件执行相同的文件
$sudo truncate -s 0 /var/log/**/*.log
2)使用'cp'(copy)命令
'/dev/null'是一个包含什么的特殊文件。
无论你放在这个文件中,它都会永远消失。
它就像一个黑洞,无论从未出现过来。
此命令将"/dev/null"复制到要清空的文件中。
$cp /dev/null raghu.txt
3)使用'dd'命令
DD命令以字节的形式复制原始文件。
将两个文件提供给"dd"命令,输入文件,由if =/dev/null和输出文件,= raghu.txt给出。
BS = 1值表示块大小(这不能为0),并且count = 0是块的数字计数(此处的0),例如:必须复制多少块(由'BS')的块(大小为')。
$dd if=/dev/null of=raghu.txt bs=1 count=0
4)重定向方法
以下命令使用重定向来删除文件的内容。
$> raghu.txt
5)使用echo命令
我们可以使用以下echo命令来空文件内容
$echo -n "" >raghu.txt
6)使用cat dev null
以下CAT命令将Raghu.txt中的文件'/dev/null'的内容放在raghu.txt中
$cat /dev/null >raghu.txt
或者
$cat > raghu.txt
然后按Ctrl + D。
在此方法中,CAT命令将我们在文件'Raghu.txt'中键入的所有内容,直到"Ctrl + D"ID按下。
所以其中我们没有写入任何东西来文件,直接按'Ctrl + D',以便"没有"进入文件中。
我们还可以使用"SED"或者"AWK"等其他工具,以重定向删除文件内容。
7)使用VI编辑器
最后,使用像'vi'这样的文本编辑器。
这是最明显的方法
在"VI"编辑器(或者任何其他编辑器)中打开文件。
$vi raghu.txt
然后按'99999dd'。
这将从文件中最多删除99999行。
如果我们认为文件可以有超过99999行,则可以在"DD"之前,数字大于文件中的行数。
现在使用":wq"保存文件并从编辑器退出。
如果我们使用的是其他高级编辑器,如"GEDIT",则可以按"Ctrl + A"以选择文件中的所有文本,然后按BackSpace或者Delete键删除文本。
现在,保存文件并退出编辑器。