xref: /minix3/minix/commands/truncate/truncate.1 (revision b80da2a01d0bb632707b7b4e974aa32eaebbcc6f)
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