Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

truncate(1) [freebsd man page]

TRUNCATE(1)						    BSD 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 pre- ceded by a dash (-), file lengths will be reduced by no more than this number of bytes, to a minimum length of zero bytes. Other- wise, 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, G or T (either 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 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. 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>. BSD
December 19, 2006 BSD

Check Out this Related Man Page

TRUNCATE(2)						      BSD System Calls Manual						       TRUNCATE(2)

NAME
truncate, ftruncate -- truncate or extend a file to a specified length LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <unistd.h> int truncate(const char *path, off_t length); int ftruncate(int fd, off_t length); DESCRIPTION
The truncate() system call causes the file named by path or referenced by fd to be truncated or extended to length bytes in size. If the file was larger than this size, the extra data is lost. If the file was smaller than this size, it will be extended as if by writing bytes with the value zero. With ftruncate(), the file must be open for writing. RETURN VALUES
Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error. If the file to be modified is not a directory or a regular file, the truncate() call has no effect and returns the value 0. ERRORS
The truncate() system call succeeds unless: [ENOTDIR] A component of the path prefix is not a directory. [ENAMETOOLONG] A component of a pathname exceeded 255 characters, or an entire path name exceeded 1023 characters. [ENOENT] The named file does not exist. [EACCES] Search permission is denied for a component of the path prefix. [EACCES] The named file is not writable by the user. [ELOOP] Too many symbolic links were encountered in translating the pathname. [EPERM] The named file has its immutable or append-only flag set, see the chflags(2) manual page for more information. [EISDIR] The named file is a directory. [EROFS] The named file resides on a read-only file system. [ETXTBSY] The file is a pure procedure (shared text) file that is being executed. [EFBIG] The length argument was greater than the maximum file size. [EINVAL] The length argument was less than 0. [EIO] An I/O error occurred updating the inode. [EFAULT] The path argument points outside the process's allocated address space. The ftruncate() system call succeeds unless: [EBADF] The fd argument is not a valid descriptor. [EINVAL] The fd argument references a socket, not a file. [EINVAL] The fd descriptor is not open for writing. SEE ALSO
chflags(2), open(2) HISTORY
The truncate() system call appeared in 4.2BSD. BUGS
These calls should be generalized to allow ranges of bytes in a file to be discarded. Use of truncate() to extend a file is not portable. BSD
December 13, 2006 BSD
Man Page