教你快速清空 Linux 中的大文件
來(lái)自:入門(mén)小站
1. 通過(guò)重定向到null清空文件內(nèi)容
使用 shell 重定向
null(不存在的對(duì)象)到文件的最簡(jiǎn)單方法來(lái)清空文件內(nèi)容
#?>?access.log
2.使用true命令重定向清空文件
這里我們將使用一個(gè)符號(hào),
:是一個(gè)shell內(nèi)置命令,本質(zhì)上等同于true命令
另一種方法是將
:或true內(nèi)置命令的輸出重定向到文件
#?:?>?access.log
OR?
#?true?>?access.log
3. 使用帶有 /dev/null 的 cat/cp/dd 應(yīng)用程序清空文件
在 Linux 中,
null設(shè)備主要用于丟棄進(jìn)程不需要的輸出流,或者作為輸入流。這通常是通過(guò)重定向機(jī)制完成的。
/dev/null設(shè)備文件是一個(gè)特殊文件,它會(huì)吞噬發(fā)送給它的任何輸入,或者它的輸出與空文件的輸出相同。
此外,你可以通過(guò)
/dev/null使用cat 命令將輸出重定向到文件作為輸入來(lái)清空文件的內(nèi)容
#?cat?/dev/null?>?access.log
也可以使用cp 命令將文件內(nèi)容清空
#?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 不同。一個(gè)字符串是一個(gè)對(duì)象,它可能是空的。而null意味著一個(gè)不存在的對(duì)象。
因此將上面的echo 命令的輸出重定向到文件中,并使用cat 命令查看文件內(nèi)容時(shí),會(huì)打印一個(gè)空行
要發(fā)送一個(gè)空輸出到文件,使用該標(biāo)志
-n告訴echo?不輸出換行符。
#?echo?-n?""?>?access.log
5. 使用 truncate 命令清空文件
truncate命令將文件的大小縮小或擴(kuò)展到定義的大小。
你可以將它與
-s指定文件大小的選項(xiàng)一起使用。要清空文件內(nèi)容使用-s 0參數(shù)。
#?truncate?-s?0?access.log推薦閱讀:
騰訊三面:40 億個(gè) QQ 號(hào)碼如何去重?
5T技術(shù)資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機(jī),樹(shù)莓派,等等。在公眾號(hào)內(nèi)回復(fù)「1024」,即可免費(fèi)獲取?。?/span>


