将空字符串写入到TXT文件,这样写会默认带上一个回车,然后文件最小大小为4kb,
echo "" > tes.txt
这样写就没有换行了
echo -n "" > tes.txt
这里遇到了一个现象,虽然这个txt文件的内容是空了,但是他占的大小还是4K,网上搜了一通,虽然在威哥大佬的帮助下解决了,但是原因不明.猜测和cpu的位数有关.
1、使用重定向的方法
[root@centos7 ~]# du -h test.txt
4.0K test.txt
[root@centos7 ~]# > 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.txt
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