首页/系统/Linux 运维命令速查/truncate 截断或扩展文件
文件与目录76 条

truncate 截断或扩展文件

把文件改到指定大小:-s 0 清空日志(不换 inode)、+N 稀疏扩展、-N 缩小;造稀疏测试文件也常用。

Linux 运维命令速查系统更新于 2026-10-12
用途调整文件大小(清空/扩展/缩小)
语法truncate -s 大小 文件
大小0 清空 / +N 增大 / -N 缩小 / N 精确指定

常用示例

常用示例
truncate -s 0 /var/log/app.log    # 清空且保留 inode(正写的进程不受影响)
truncate -s 1G sparse.img; ls -lh sparse.img; du -h sparse.img
truncate -s +100M data.bin        # 追加 100M(稀疏)
truncate -s -50M data.bin         # 砍掉尾部 50M(不可逆)
清日志优先 truncate -s 0 或 : > file:比 rm 安全——打开该文件的进程句柄继续有效,空间立即释放。

易错点

  • 缩小(-N)直接砍掉尾部数据且无法恢复:执行前确认后半段无人需要
  • 扩展出的部分是稀疏零(读为全 0):想真实占盘用 fallocate 或 dd

数据来源与参考

  • man 1 truncate(GNU coreutils 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌