my_file结果,文件大小不是0,而是1蛋疼0x01清空命令1.重定向null到文件里>my_file2.使用ture" />

Linux下快速清空文件的方法

您所在的位置:网站首页 linux常用命令清空 Linux下快速清空文件的方法

Linux下快速清空文件的方法

#Linux下快速清空文件的方法| 来源: 网络整理| 查看: 265

0x00 前言

最近遇到一些问题,都需要一种稳妥的清空文件方法,凭借自己多年摸爬滚打的经验,信手拈来一条命令:

echo "" > my_file

结果,文件大小不是0,而是1 在这里插入图片描述 蛋疼

0x01 清空命令 1. 重定向null到文件里 > my_file 2. 使用ture命令重定向文件 : > my_file OR true > my_file 3. 使用cat/cp/dd命令重定向文件

说道null,少不了/dev/null

cat /dev/null > my_file

或者

cp /dev/null my_file

高端的上dd,直接写入null

dd if=/dev/null of=my_file 4. 使用echo命令重定向文件

echo命令默认会在结尾加一个’\n’换行符,所以前言中提到的bug就是’\n’引起的。老司机会使用 -n 选项去掉换行符。

echo -n "" > my_file 5. 使用truncate命令清空文件

truncate命令可以将文件缩减或扩展至指定大小。

简直就是如意金箍棒,要大就大,要小就小,感觉测试程序的时候估计会用上。比dd简单很多。

-s 选项是指定文件大小,不足用0填充,多余则从末尾删除。这里指定size为0,则是清空文件

truncate -s 0 my_file 0x02 性能对比

使用truncate创建出1T的文件,当然truncate这种是似乎没有磁盘写入操作,只是把文件属性改掉了。

方法耗时> my_file0m0.000s: > my_file0m0.000scat /dev/null > my_file0m0.002secho -n “” > my_file0m0.000struncate -s 0 my_file0m0.002s

使用time计时 在这里插入图片描述

当然,这种方法可能不准,仅供参考,有兴趣的同学,可以使用dd创建不同大小文件,然后观察随文件增长方向,不同方法的时间消耗情况。

0x03 参考文献

https://www.tecmint.com/empty-delete-file-content-linux/



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3