约 3675 字

约 18 分钟

#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

#推荐阅读

#手册

更新: 2026/1/18

作者: PlanC

创建: 2025/12/6