教你快速清空 Linux 中的大文件
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