菜鸟笔记
提升您的技术认知

几种清空Linux文件的方法

1、使用重定向的方法

[root@centos7 ~]# du -h test.txt 
4.0K    test.txt
 test.txt 
[root@centos7 ~]# du -h test.txt 
0    test.txt

2、使用true命令重定向清空文件

[root@centos7 ~]# du -h test.txt 
4.0K    test.txt
[root@centos7 ~]# true > test.txt 
[root@centos7 ~]# du -h test.txt 
0    test.txt

3、使用cat/cp/dd命令及/dev/null设备来清空文件

[root@centos7 ~]# du -h test.txt 
4.0K    test.txt
[root@centos7 ~]# cat /dev/null >  test.txt 
[root@centos7 ~]# du -h test.txt 
   test.txt
###################################################
[root@centos7 ~]# echo "Hello World" > test.txt 
[root@centos7 ~]# du -h test.txt 
4.0K    test.txt
[root@centos7 ~]# cp /dev/null test.txt 
cp:是否覆盖"test.txt"? y
[root@centos7 ~]# du -h test.txt 
   test.txt
##################################################
[root@centos7 ~]# echo "Hello World" > test.txt 
[root@centos7 ~]# du -h test.txt 
4.0K    test.txt
[root@centos7 ~]# dd if=/dev/null of=test.txt 
记录了0+0 的读入
记录了0+0 的写出
0字节(0 B)已复制,0.000266781 秒,0.0 kB/秒
[root@centos7 ~]# du -h test.txt 
   test.txt

4、使用echo命令清空文件

[root@centos7 ~]# echo "Hello World" > test.txt 
[root@centos7 ~]# du -h test.txt 
4.0K    test.txt
[root@centos7 ~]# echo -n "" >test.txt  /*要加上"-n"参数,默认会使用"\n",回车符
[root@centos7 ~]# du -h test.txt  
0    test.txt999

5、使用truncate命令清空文件

[root@centos7 ~]# du -h test.txt 
4.0K    test.txt
[root@centos7 ~]# truncate -s 0 test.txt   -s参数用来设定文件的大小,清空文件,就设定为0;
[root@centos7 ~]# du -h test.txt 
0    test.txt