「truncate(1)」- 缩小或扩展文件的大小

常用命令

清空文件:

truncate -s 0 /path/to/file

语法格式

truncate OPTION... FILE...

命令描述

如果参数FILE指定了一个不存在的文件,则会进行创建。

如果FILE的大小超过了指定的大小,则多余的数据会丢失。如果FILE的大小小于指定的大小,truncate将会使用零字节填充FILE。

命令选项

需要提供给长选项的参数也必须提供给对应的短选项。

-c, –no-create
如果文件不存在,则不要进行创建文件。

-o, –io-blocks
将SIZE(参考-s选项)视为文件的I/O块的数量,而不是字节数。

-r, –reference=RFILE
将每个文件的大小设置为基于RFILE的大小。

-s, –size=SIZE
根据SIZE设置或调整每个文件的大小。SIZE以字节为单位,除非指定了–io-blocks。

SIZE是一个整数,后面可以更以下的单位:

‘KB’ => 1000 (KiloBytes)

‘K’ => 1024 (KibiBytes)

‘MB’ => 1000*1000 (MegaBytes)

‘M’ => 1024*1024 (MebiBytes)

‘GB’ => 1000*1000*1000 (GigaBytes)

‘G’ => 1024*1024*1024 (GibiBytes)

以此类推,还有‘T’, ‘P’, ‘E’, ‘Z’, ‘Y’。

SIZE也可以由以下之一单位作为前缀,以根据当前大小调整每个文件的大小:

‘+’ => 增加。比如,+500表示将文件增加500字节。

‘-’ => 减少。不解释。

‘<’ => 最多。不解释。

‘>’ => 最少。比如,>500表示文件最少为500字节;如果少于500字节,则扩展到500字节;如果大于500字节,则不对文件进行操作。

‘/’ => 减小,使其成为SIZE的倍数。比如,/2表示缩小文件,直到文件大小是2的倍数。

‘%’ => 增大,使其成为SIZE的倍数。比如,/2表示增大文件,直到文件大小是2的倍数。

–help
显示帮助信息并退出。

–version
显示版本信息并退出。

附加说明

退出状态

退出状态为零表示成功,非零值表示失败。

相关手册

dd(1), truncate(2), ftruncate(2)

查看在线手册:http://www.gnu.org/software/coreutils/truncate

查看info手册:info ‘(coreutils) truncate invocation’

参考文献

man 1 truncate, version GNU coreutils 8.28