Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
TRUNCATE(1)		FreeBSD	General	Commands Manual		   TRUNCATE(1)

NAME
     truncate -- truncate or extend the	length of files

SYNOPSIS
     truncate [-c] -s [+|-|%|/]size[K|k|M|m|G|g|T|t] file ...
     truncate [-c] -r rfile file ...

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

     -s	[+|-|%|/]size[K|k|M|m|G|g|T|t]
	     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 abso-
	     lute length to which all files should be extended or reduced as
	     appropriate.

	     The size argument may be suffixed with one	of K, M, G or T	(ei-
	     ther upper	or lower case) to indicate a multiple of Kilobytes,
	     Megabytes,	Gigabytes or Terabytes 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 speci-
     fied.

     Note that,	while truncating a file	causes space on	disk to	be freed, ex-
     tending 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), 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>.

FreeBSD	13.0			 July 27, 2020			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | EXIT STATUS | EXAMPLES | SEE ALSO | STANDARDS | HISTORY | AUTHORS

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=truncate&sektion=1&manpath=FreeBSD+13.2-RELEASE+and+Ports>

home | help