TRUNCATE(1)

truncate - truncate or extend the length of files truncate [-c] -s [+|-] size [K|k|M|m|G|g] file ... truncate [-c] -r rfile file ... The truncate utility adjusts the length of each regular file given on the command-line.

The following options are available:

-c  Do not create files if they do not exist. The truncate utility does not treat this as an error. No error messages are displayed and the exit value is not affected.

-r rfile
    Truncate files to the length of the file rfile.

-s  [+|-] size [K|k|M|m|G|g] If the size argument is preceded by a plus sign (+), 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. Otherwise, the size argument specifies an absolute length to which all files should be extended or reduced as appropriate.

    The size argument may be suffixed with one of K, M or G (either upper or lower case) to indicate a multiple of Kilobytes, Megabytes or Gigabytes respectively.

Exactly one of the -r and -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). If the operation fails for an argument, truncate will issue a diagnostic and continue processing the remaining arguments. 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>.