Linux删除文件内容的方法


有时候需要将一个文件内容进行重新编写,可能经常想到的是使用rm命令直接删掉,然后再touch新建,vi进去编写新的内容。

有没有简单办法只将文件内容清空而不删除文件呢?

1.使用echo "" > file_name,直接将空字符串重定向并覆盖到目标文件。

[storm@nimbus-storm-pre jch]$ cat error.txt
data1.txt
error.txt
redirect.txt
test1
[storm@nimbus-storm-pre jch]$ echo "" > error.txt
[storm@nimbus-storm-pre jch]$ cat error.txt

[storm@nimbus-storm-pre jch]$

 

2.使用cat /dev/null > file_name,读取dev目录下的一个null文件,并重定向覆盖目标文件,类似方法1。

[storm@nimbus-storm-pre jch]$ cat error.txt
data1.txt
error.txt
redirect.txt
test1
[storm@nimbus-storm-pre jch]$ cat /dev/null > error.txt
[storm@nimbus-storm-pre jch]$ cat error.txt
[storm@nimbus-storm-pre jch]$

 

3.使用vi命令进入vim编辑器,在指令模式下(进入方法,输入冒号:)输入 %d,即可清空整个文件。

当文件内容较大时可能会执行较慢。最后别忘了wq保存。

[storm@nimbus-storm-pre jch]$ vim error.txt

data1.txt
error.txt
redirect.txt
test1
~
~
~
:%d

:wq


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM