TRUNCATE(1) | General Commands Manual | TRUNCATE(1) |
truncate
—
truncate, extend the length of files, or perform space
management in files
truncate |
[-c ] -s
[+ |- |% |/ ]size[SUFFIX ]
file ... |
truncate |
[-c ] -r
rfile file ... |
The truncate
utility adjusts the length of
each regular file given on the command-line, or performs space management
with the given offset and the length over a regular file given on the
command-line.
The following options are available:
-c
truncate
utility does not treat this as an error.
No error messages are displayed and the exit value is not affected.-r
rfile-s
[+
|-
|%
|/
]size[SUFFIX
]+
), files will be extended by this number of
bytes. If the size argument is preceded by a dash
(-
), file lengths will be reduced by no more than
this number of bytes, to a minimum length of zero bytes. If the
size argument is preceded by a percent sign
(%
), files will be round up to a multiple of this
number of bytes. If the size argument is preceded by
a slash sign (/
), files will be round down to a
multiple of this number of bytes, to a minimum length of zero bytes.
Otherwise, the size argument specifies an absolute
length to which all files should be extended or reduced as
appropriate.The size, offset and
length arguments may be suffixed with one of
K
, M
,
G
or T
(either upper or
lower case) to indicate a multiple of Kilobytes, Megabytes, Gigabytes or
Terabytes respectively.
Exactly one of the -r
or
-s
options must be specified.
If a file is made smaller, its extra data is lost. If a file is
made larger, it will be extended as if by writing bytes with the value zero.
If the file does not exist, it is created unless the
-c
option is specified.
Note that, while truncating a file causes space on disk to be
freed, extending a file does not cause space to be allocated. To extend a
file and actually allocate the space, it is necessary to explicitly write
data to it, using (for example) the shell's
‘>>
’ redirection syntax, or
dd(1).
The truncate
utility exits 0 on
success, and >0 if an error occurs. If the operation fails for an
argument, truncate
will issue a diagnostic and
continue processing the remaining arguments.
Adjust the size of the file test_file to 10 Megabytes but do not create it if it does not exist:
truncate -c -s +10M test_file
Same as above but create the file if it does not exist:
truncate -s +10M test_file ls -l test_file -rw-r--r-- 1 root wheel 10485760 Jul 22 18:48 test_file
Adjust the size of test_file to the size of the kernel and create another file test_file2 with the same size:
truncate -r /boot/kernel/kernel test_file test_file2 ls -l /boot/kernel/kernel test_file* -r-xr-xr-x 1 root wheel 31352552 May 15 14:18 /boot/kernel/kernel* -rw-r--r-- 1 root wheel 31352552 Jul 22 19:15 test_file -rw-r--r-- 1 root wheel 31352552 Jul 22 19:15 test_file2
Downsize test_file in 5 Megabytes:
# truncate -s -5M test_file ls -l test_file* -rw-r--r-- 1 root wheel 26109672 Jul 22 19:17 test_file -rw-r--r-- 1 root wheel 31352552 Jul 22 19:15 test_file2
The truncate
utility conforms to no known
standards.
The truncate
utility first appeared in
FreeBSD 4.2.
The truncate
utility was written by
Sheldon Hearn
<sheldonh@starjuice.net>.
Hole-punching support of this utility was developed by
Ka Ho Ng
<khng@FreeBSD.org>.
August 19, 2021 | macOS 14.6 |