truncate - Man Page
shrink or extend the size of a file to the specified size
Examples (TL;DR)
- Set a size of 10 GB to an existing file, or create a new file with the specified size:
truncate --size 10G path/to/file
- Extend the file size by 50 MiB, fill with holes (which reads as zero bytes):
truncate --size +50M path/to/file
- Shrink the file by 2 GiB, by removing data from the end of file:
truncate --size -2G path/to/file
- Empty the file's content:
truncate --size 0 path/to/file
- Empty the file's content, but do not create the file if it does not exist:
truncate --no-create --size 0 path/to/file
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 © 2024 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'
Referenced By
fallocate(1), swapon(8), truncate(2), virt-resize(1), virt-sparsify(1).