← man/files
truncate — man truncate — 80×24
ugur@toprak:~/man/files$man truncate
Bölüm 1 Dosyalar

truncate

truncate, extend the length of files, or perform space management in files

Synopsis

     truncate [-c] -s [+|-|%|/]size[SUFFIX] file ...
     truncate [-c] -r rfile file ...

Description

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: 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 or extend files to the length of the file rfile.

-s [+|-|%|/]size[SUFFIX] 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. 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).

Exit Status

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.

Examples

     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

See Also

dd(1), touch(1), fspacectl(2), truncate(2)

Standards

The truncate utility conforms to no known standards.

History

The truncate utility first appeared in FreeBSD 4.2.

Authors

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.

macOS 26.4 August 19, 2021 macOS 26.4