本文将介绍几种在Linux下清空文件的方法。
Plan A
代码 :
1 2 3
| #!/bin/bash echo "" > $1 echo "$1 is cleaned up."
|
运行结果 :
1 2 3 4 5 6 7 8 9 10 11
| $ cat test.txt 1 2 3 4 5 $ ./plana.sh test.txt test.txt cleaned up. $ cat test.txt
|
使用这个方法文件其实并没有真正被清空,而是有一个空行。
Plan B
代码 :
1 2 3
| #!/bin/bash : > $1 echo "$1 is cleaned up."
|
运行结果 :
1 2 3 4 5 6 7 8 9 10 11
| $ cat test.txt 1 2 3 4 5 $ ./planb.sh test.txt test.txt is cleaned up. $ cat test.txt
|
:是一个空命令,起到占位符的作用。这里被清空的文件不再有空行,实现真正意义的清空。
Plan C
代码 :
1 2 3
| #!/bin/bash cat /dev/null > $1 echo "$1 is cleaned up."
|
运行结果 :
1 2 3 4 5 6 7 8 9 10
| $ cat test.txt 1 2 3 4 5 $ ./planc.sh test.txt test.txt is cleaned up. $ cat test.txt
|
/dev/null可以看作一个”黑洞”。所有写入它的内容都会丢失。从它那儿读取也什么都读不到。这里被清空的文件同样不再有空行,实现真正意义的清空。