TRUNCATE(1) User Commands TRUNCATE(1)

# [NAME](#NAME)

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

# [SYNOPSIS](#SYNOPSIS)

**truncate** *OPTION*... *FILE*...

# [DESCRIPTION](#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**](#c,)

do not create any files

[**-o, --io-blocks**](#o,)

treat SIZE as number of IO blocks instead of bytes

[**-r, --reference=RFILE**](#r,)

base size on RFILE

[**-s, --size=SIZE**](#s,)

set or adjust the file size by SIZE bytes

[**--help**](#help)

display this help and exit

[**--version**](#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, '&lt;' at most, '&gt;' at least, '/' round down to multiple of, '%' round up to multiple of.

# [AUTHOR](#AUTHOR)

Written by Padraig Brady.

# [REPORTING BUGS](#REPORTING_BUGS)

Report bugs to: &lt;bug-coreutils@gnu.org&gt;.  
Report any translation bugs to: &lt;https://translationproject.org/team/&gt;.  
GNU coreutils home page: &lt;https://www.gnu.org/software/coreutils/&gt;  
General help using GNU software: &lt;https://www.gnu.org/gethelp/&gt;

# [COPYRIGHT](#COPYRIGHT)

Copyright © 2026 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later &lt;https://gnu.org/licenses/gpl.html&gt;.  
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

# [SEE ALSO](#SEE_ALSO)

[**dd**(1)](/man/os/coreutils/dd.1), [**truncate**(2)](/man/os/coreutils/truncate.2), [**ftruncate**(2)](/man/os/coreutils/ftruncate.2)

Full documentation &lt;https://www.gnu.org/software/coreutils/truncate&gt;  
or available locally via: info '(coreutils) truncate invocation'

September 2026 GNU coreutils 9.12

---

Document: truncate(1) from coreutils 9.12-r3 (Chainguard OS)
Source: https://git.savannah.gnu.org/git/coreutils.git
