教你快速清空 Linux 中的大文件
1. 通過重定向到null清空文件內容
使用 shell 重定向null(不存在的對象)到文件的最簡單方法來清空文件內容
- # > access.log
2.使用true命令重定向清空文件
這里我們將使用一個符號,:是一個shell內置命令,本質上等同于true命令
另一種方法是將:或true內置命令的輸出重定向到文件
- # : > access.log
- OR
- # true > access.log
3. 使用帶有 /dev/null 的 cat/cp/dd 應用程序清空文件
在 Linux 中,null設備主要用于丟棄進程不需要的輸出流,或者作為輸入流。這通常是通過重定向機制完成的。
/dev/null設備文件是一個特殊文件,它會吞噬發送給它的任何輸入,或者它的輸出與空文件的輸出相同。
此外,你可以通過/dev/null使用cat 命令將輸出重定向到文件作為輸入來清空文件的內容
- # cat /dev/null > access.log
也可以使用cp 命令將文件內容清空
- # 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 不同。一個字符串是一個對象,它可能是空的。而null意味著一個不存在的對象。
因此將上面的echo 命令的輸出重定向到文件中,并使用cat 命令查看文件內容時,會打印一個空行
要發送一個空輸出到文件,使用該標志-n告訴echo 不輸出換行符。
- # echo -n "" > access.log
5. 使用 truncate 命令清空文件
truncate命令將文件的大小縮小或擴展到定義的大小。
你可以將它與-s指定文件大小的選項一起使用。要清空文件內容使用-s 0參數。
- # truncate -s 0 access.log