在使用echo进行重定向文件的时候,会存在大小没有发生改变的现象
使用上面的方法遇到一个现象
即 ls -l
与 du -sh
得到的大小是不同的
查找相关内容,查到了如下方法进行解决
-
使用重定向方法
du -sh ./* > access.log du -sh ./*
-
使用true命令重定向清空文件
du -sh ./* true > access.log du -sh ./*
-
使用cat/cp/dd命令以及/dev/null设备来清空
du -sh ./* cat /dev/null > access.log du -sh ./*
cp /dev/null access.log
dd if=/dev/null of=access.log
-
使用echo命令清空文件
echo -n "" > access.log du -sh ./*
-
使用truncate命令清空
truncate -s 0 access.log