欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【Linux之truncate 命令用法】

程序员文章站 2022-06-13 16:12:33
...

truncate相关命令

用法:truncate 选项... 文件...

将文件缩减或扩展至指定大小

 

如果指定文件不存在则创建。

 

如果指定文件超出指定大小则超出的数据将丢失。

如果指定文件小于指定大小则用0 补足。

 

长选项必须使用的参数对于短选项时也是必需使用的。

  -c, --no-create 不创建文件

  -o, --io-blocks 将SIZE 视为IO 块数而不使用字节数

  -r, --reference=文件   使用此文件的大小

  -s, --size=大小 使用此大小

      --help 显示此帮助信息并退出

      --version 显示版本信息并退出

 

SIZE 可以是一个可选的整数,后面跟着以下单位中的一个:

KB 1000,K 1024,MB 1000*1000,M 1024*1024,还有 G、T、P、E、Z、Y。

 

 

指定大小也可使用以下前缀修饰:

"+" 增加,"-" 减少,"<" 至多,">" 至少,

"/" 小于等于原尺寸数字的指定数字的最小倍数,"%" 大于等于原尺寸数字的指定数字的最大倍数。

译者注:当输入值为m,参考值为n 时,

"/" 运算的数学计算式为 m / n * n;

"%" 运算的数学计算式为( m + n - 1 ) / n * n

 

 

请注意-r 和-s 是互斥的选项。

 

Linux文件清空方法总结

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