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