#Bash 的 truncate 命令
truncate OPTION... FILE...
功能
截断(或增大)文件。
类型
可执行文件(/usr/bin/truncate),属于 coreutils。
参数
OPTION选项:-c,--no-create- 不要创建文件-o,--io-blocks- 将SIZE视作 I/O 块的个数,而不是字节;通常一个 I/O 块是 4096 字节-r,--reference=RFILE- 基于RFILE文件的大小-s,--size=SIZE- 调整后的文件大小,默认为字节--help- 显示帮助--version- 显示版本
FILE- 文件列表
#示例
绝对大小
$ truncate -s 10k 1.txt # 将 1.txt 的大小设为 10k,文件不存在时自动创建
$ ls -l 1.txt
-rw-rw-r-- 1 planc planc 10240 Dec 6 12:27 1.txt
$ truncate -s 1 -o 1.txt # 将 1.txt 的大小设为一个 I/O 块
$ ls -l 1.txt
-rw-rw-r-- 1 planc planc 4096 Dec 6 12:28 1.txt
相对大小
$ truncate -s 1k 2.txt # 创建一个 1k 大小的文件
$ truncate -r 2.txt 1.txt # 将 1.txt 的大小设为和 2.txt 一样
$ ls -l 1.txt
-rw-rw-r-- 1 planc planc 1024 Dec 6 12:30 1.txt
$ truncate -r 2.txt -s +1k 1.txt # 将 1.txt 的大小设为比 2.txt 大 1k
$ ls -l 1.txt
-rw-rw-r-- 1 planc planc 2048 Dec 6 12:32 1.txt
#推荐阅读
#手册
TRUNCATE(1) User Commands TRUNCATE(1)
NAME
truncate - shrink or extend the size of a file to the specified size
SYNOPSIS
truncate OPTION... FILE...
DESCRIPTION
Shrink or extend the size of each FILE to the specified size
A FILE argument that does not exist is created.
If a FILE is larger than the specified size, the extra data is lost.
If a FILE is shorter, it is extended and the sparse extended part
(hole) reads as zero bytes.
Mandatory arguments to long options are mandatory for short options
too.
-c, --no-create
do not create any files
-o, --io-blocks
treat SIZE as number of IO blocks instead of bytes
-r, --reference=RFILE
base size on RFILE
-s, --size=SIZE
set or adjust the file size by SIZE bytes
--help display this help and exit
--version
output version information and exit
The SIZE argument is an integer and optional unit (example: 10K is
10*1024). Units are K,M,G,T,P,E,Z,Y,R,Q (powers of 1024) or KB,MB,...
(powers of 1000). Binary prefixes can be used, too: KiB=K, MiB=M, and
so on.
SIZE may also be prefixed by one of the following modifying characters:
'+' extend by, '-' reduce by, '<' at most, '>' at least, '/' round down
to multiple of, '%' round up to multiple of.
AUTHOR
Written by Padraig Brady.
REPORTING BUGS
GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>
COPYRIGHT
Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU
GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
SEE ALSO
dd(1), truncate(2), ftruncate(2)
Full documentation <https://www.gnu.org/software/coreutils/truncate>
or available locally via: info '(coreutils) truncate invocation'
GNU coreutils 9.4 April 2024 TRUNCATE(1)