1*b80da2a0SDavid van Moolenbroek.\" 2*b80da2a0SDavid van Moolenbroek.\" Copyright (c) 2000 Sheldon Hearn <sheldonh@FreeBSD.org>. 3*b80da2a0SDavid van Moolenbroek.\" All rights reserved. 4*b80da2a0SDavid van Moolenbroek.\" 5*b80da2a0SDavid van Moolenbroek.\" Redistribution and use in source and binary forms, with or without 6*b80da2a0SDavid van Moolenbroek.\" modification, are permitted provided that the following conditions 7*b80da2a0SDavid van Moolenbroek.\" are met: 8*b80da2a0SDavid van Moolenbroek.\" 1. Redistributions of source code must retain the above copyright 9*b80da2a0SDavid van Moolenbroek.\" notice, this list of conditions and the following disclaimer. 10*b80da2a0SDavid van Moolenbroek.\" 2. Redistributions in binary form must reproduce the above copyright 11*b80da2a0SDavid van Moolenbroek.\" notice, this list of conditions and the following disclaimer in the 12*b80da2a0SDavid van Moolenbroek.\" documentation and/or other materials provided with the distribution. 13*b80da2a0SDavid van Moolenbroek.\" 14*b80da2a0SDavid van Moolenbroek.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15*b80da2a0SDavid van Moolenbroek.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16*b80da2a0SDavid van Moolenbroek.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17*b80da2a0SDavid van Moolenbroek.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18*b80da2a0SDavid van Moolenbroek.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19*b80da2a0SDavid van Moolenbroek.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20*b80da2a0SDavid van Moolenbroek.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21*b80da2a0SDavid van Moolenbroek.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22*b80da2a0SDavid van Moolenbroek.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23*b80da2a0SDavid van Moolenbroek.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24*b80da2a0SDavid van Moolenbroek.\" SUCH DAMAGE. 25*b80da2a0SDavid van Moolenbroek.\" 26*b80da2a0SDavid van Moolenbroek.\" $FreeBSD: src/usr.bin/truncate/truncate.1,v 1.12 2005/01/17 07:44:32 ru Exp $ 27*b80da2a0SDavid van Moolenbroek.\" 28*b80da2a0SDavid van Moolenbroek.Dd July 4, 2000 29*b80da2a0SDavid van Moolenbroek.Dt TRUNCATE 1 30*b80da2a0SDavid van Moolenbroek.Os 31*b80da2a0SDavid van Moolenbroek.Sh NAME 32*b80da2a0SDavid van Moolenbroektruncate \- truncate or extend the length of files 33*b80da2a0SDavid van Moolenbroek.Sh SYNOPSIS 34*b80da2a0SDavid van Moolenbroektruncate 35*b80da2a0SDavid van Moolenbroek.Op Fl c 36*b80da2a0SDavid van Moolenbroek.Bk -words 37*b80da2a0SDavid van Moolenbroek.Fl s Xo 38*b80da2a0SDavid van Moolenbroek.Sm off 39*b80da2a0SDavid van Moolenbroek.Op Cm + | - 40*b80da2a0SDavid van Moolenbroek.Ar size 41*b80da2a0SDavid van Moolenbroek.Op Cm K | k | M | m | G | g 42*b80da2a0SDavid van Moolenbroek.Sm on 43*b80da2a0SDavid van Moolenbroek.Xc 44*b80da2a0SDavid van Moolenbroek.Ek 45*b80da2a0SDavid van Moolenbroek.Ar 46*b80da2a0SDavid van Moolenbroektruncate 47*b80da2a0SDavid van Moolenbroek.Op Fl c 48*b80da2a0SDavid van Moolenbroek.Bk -words 49*b80da2a0SDavid van Moolenbroek.Fl r Ar rfile 50*b80da2a0SDavid van Moolenbroek.Ek 51*b80da2a0SDavid van Moolenbroek.Ar 52*b80da2a0SDavid van Moolenbroek.Sh DESCRIPTION 53*b80da2a0SDavid van MoolenbroekThe 54*b80da2a0SDavid van Moolenbroektruncate 55*b80da2a0SDavid van Moolenbroekutility adjusts the length of each regular file given on the command-line. 56*b80da2a0SDavid van Moolenbroek.Pp 57*b80da2a0SDavid van MoolenbroekThe following options are available: 58*b80da2a0SDavid van Moolenbroek.Bl -tag -width indent 59*b80da2a0SDavid van Moolenbroek.It Fl c 60*b80da2a0SDavid van MoolenbroekDo not create files if they do not exist. 61*b80da2a0SDavid van MoolenbroekThe 62*b80da2a0SDavid van Moolenbroektruncate 63*b80da2a0SDavid van Moolenbroekutility does not treat this as an error. 64*b80da2a0SDavid van MoolenbroekNo error messages are displayed 65*b80da2a0SDavid van Moolenbroekand the exit value is not affected. 66*b80da2a0SDavid van Moolenbroek.It Fl r Ar rfile 67*b80da2a0SDavid van MoolenbroekTruncate files to the length of the file 68*b80da2a0SDavid van Moolenbroek.Ar rfile . 69*b80da2a0SDavid van Moolenbroek.It Fl s Xo 70*b80da2a0SDavid van Moolenbroek.Sm off 71*b80da2a0SDavid van Moolenbroek.Op Cm + | - 72*b80da2a0SDavid van Moolenbroek.Ar size 73*b80da2a0SDavid van Moolenbroek.Op Cm K | k | M | m | G | g 74*b80da2a0SDavid van Moolenbroek.Sm on 75*b80da2a0SDavid van Moolenbroek.Xc 76*b80da2a0SDavid van MoolenbroekIf the 77*b80da2a0SDavid van Moolenbroek.Ar size 78*b80da2a0SDavid van Moolenbroekargument is preceded by a plus sign 79*b80da2a0SDavid van Moolenbroek.Pq Cm + , 80*b80da2a0SDavid van Moolenbroekfiles will be extended by this number of bytes. 81*b80da2a0SDavid van MoolenbroekIf the 82*b80da2a0SDavid van Moolenbroek.Ar size 83*b80da2a0SDavid van Moolenbroekargument is preceded by a dash 84*b80da2a0SDavid van Moolenbroek.Pq Cm - , 85*b80da2a0SDavid van Moolenbroekfile lengths will be reduced by no more than this number of bytes, 86*b80da2a0SDavid van Moolenbroekto a minimum length of zero bytes. 87*b80da2a0SDavid van MoolenbroekOtherwise, the 88*b80da2a0SDavid van Moolenbroek.Ar size 89*b80da2a0SDavid van Moolenbroekargument specifies an absolute length to which all files 90*b80da2a0SDavid van Moolenbroekshould be extended or reduced as appropriate. 91*b80da2a0SDavid van Moolenbroek.Pp 92*b80da2a0SDavid van MoolenbroekThe 93*b80da2a0SDavid van Moolenbroek.Ar size 94*b80da2a0SDavid van Moolenbroekargument may be suffixed with one of 95*b80da2a0SDavid van Moolenbroek.Cm K , 96*b80da2a0SDavid van Moolenbroek.Cm M 97*b80da2a0SDavid van Moolenbroekor 98*b80da2a0SDavid van Moolenbroek.Cm G 99*b80da2a0SDavid van Moolenbroek(either upper or lower case) to indicate a multiple of 100*b80da2a0SDavid van MoolenbroekKilobytes, Megabytes or Gigabytes 101*b80da2a0SDavid van Moolenbroekrespectively. 102*b80da2a0SDavid van Moolenbroek.El 103*b80da2a0SDavid van Moolenbroek.Pp 104*b80da2a0SDavid van MoolenbroekExactly one of the 105*b80da2a0SDavid van Moolenbroek.Fl r 106*b80da2a0SDavid van Moolenbroekand 107*b80da2a0SDavid van Moolenbroek.Fl s 108*b80da2a0SDavid van Moolenbroekoptions must be specified. 109*b80da2a0SDavid van Moolenbroek.Pp 110*b80da2a0SDavid van MoolenbroekIf a file is made smaller, its extra data is lost. 111*b80da2a0SDavid van MoolenbroekIf a file is made larger, 112*b80da2a0SDavid van Moolenbroekit will be extended as if by writing bytes with the value zero. 113*b80da2a0SDavid van MoolenbroekIf the file does not exist, 114*b80da2a0SDavid van Moolenbroekit is created unless the 115*b80da2a0SDavid van Moolenbroek.Fl c 116*b80da2a0SDavid van Moolenbroekoption is specified. 117*b80da2a0SDavid van Moolenbroek.Pp 118*b80da2a0SDavid van MoolenbroekNote that, 119*b80da2a0SDavid van Moolenbroekwhile truncating a file causes space on disk to be freed, 120*b80da2a0SDavid van Moolenbroekextending a file does not cause space to be allocated. 121*b80da2a0SDavid van MoolenbroekTo extend a file and actually allocate the space, 122*b80da2a0SDavid van Moolenbroekit is necessary to explicitly write data to it, 123*b80da2a0SDavid van Moolenbroekusing (for example) the shell's 124*b80da2a0SDavid van Moolenbroek.Ql >> 125*b80da2a0SDavid van Moolenbroekredirection syntax, or 126*b80da2a0SDavid van Moolenbroek.Xr dd 1 . 127*b80da2a0SDavid van Moolenbroek.Sh EXIT STATUS 128*b80da2a0SDavid van Moolenbroek.Ex -std 129*b80da2a0SDavid van MoolenbroekIf the operation fails for an argument, 130*b80da2a0SDavid van Moolenbroektruncate 131*b80da2a0SDavid van Moolenbroekwill issue a diagnostic 132*b80da2a0SDavid van Moolenbroekand continue processing the remaining arguments. 133*b80da2a0SDavid van Moolenbroek.Sh SEE ALSO 134*b80da2a0SDavid van Moolenbroek.Xr dd 1 , 135*b80da2a0SDavid van Moolenbroek.Xr touch 1 , 136*b80da2a0SDavid van Moolenbroek.Xr truncate 2 137*b80da2a0SDavid van Moolenbroek.Sh STANDARDS 138*b80da2a0SDavid van MoolenbroekThe 139*b80da2a0SDavid van Moolenbroektruncate 140*b80da2a0SDavid van Moolenbroekutility conforms to no known standards. 141*b80da2a0SDavid van Moolenbroek.Sh HISTORY 142*b80da2a0SDavid van MoolenbroekThe 143*b80da2a0SDavid van Moolenbroektruncate 144*b80da2a0SDavid van Moolenbroekutility first appeared in FreeBSD 4.2. 145*b80da2a0SDavid van Moolenbroek.Sh AUTHORS 146*b80da2a0SDavid van MoolenbroekThe truncate utility was written by Sheldon Hearn <sheldonh@starjuice.net>. 147