truncate (1)

Quick Reference

Shrink or extend the size of a file to the specified size.

  • Set a size of 10 GB to an exsting file, or create a new file with the specified size:

truncate -s {{10G}} {{filename}}

  • Extend the file size by 50M, fill with holes (which reads as zero bytes):

truncate -s +{{50M}} {{filename}}

  • Shrink the file by 2GiB, by removing data from the end of file:

truncate -s -{{2G}} {{filename}


truncate - shrink or extend the size of a file to the specified size


truncate OPTION... FILE...


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 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
display this help and exit
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 (powers of 1024) or KB,MB,... (powers of 1000).
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.


Written by Padraig Brady.


GNU coreutils online help: <>
Report truncate translation bugs to <>


dd(1), truncate(2), ftruncate(2)
Full documentation at: <>
or available locally via: info '(coreutils) truncate invocation'


GNU coreutils 8.29.13-0a854
Source updated
December 2, 2018
Page created
February 9, 2018
Page generated
December 2, 2018