xref: /freebsd/bin/rm/rm.1 (revision c3aac50f284c6cca5b4f2eb46aaa13812cb8b630)
1.\" Copyright (c) 1990, 1993, 1994
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" This code is derived from software contributed to Berkeley by
5.\" the Institute of Electrical and Electronics Engineers, Inc.
6.\"
7.\" Redistribution and use in source and binary forms, with or without
8.\" modification, are permitted provided that the following conditions
9.\" are met:
10.\" 1. Redistributions of source code must retain the above copyright
11.\"    notice, this list of conditions and the following disclaimer.
12.\" 2. Redistributions in binary form must reproduce the above copyright
13.\"    notice, this list of conditions and the following disclaimer in the
14.\"    documentation and/or other materials provided with the distribution.
15.\" 3. All advertising materials mentioning features or use of this software
16.\"    must display the following acknowledgement:
17.\"	This product includes software developed by the University of
18.\"	California, Berkeley and its contributors.
19.\" 4. Neither the name of the University nor the names of its contributors
20.\"    may be used to endorse or promote products derived from this software
21.\"    without specific prior written permission.
22.\"
23.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33.\" SUCH DAMAGE.
34.\"
35.\"	@(#)rm.1	8.5 (Berkeley) 12/5/94
36.\" $FreeBSD$
37.\"
38.Dd January 28, 1999
39.Dt RM 1
40.Os
41.Sh NAME
42.Nm rm
43.Nd remove directory entries
44.Sh SYNOPSIS
45.Nm rm
46.Op Fl dfiPRrW
47.Ar file ...
48.Sh DESCRIPTION
49The
50.Nm
51utility attempts to remove the non-directory type files specified on the
52command line.
53If the permissions of the file do not permit writing, and the standard
54input device is a terminal, the user is prompted (on the standard error
55output) for confirmation.
56.Pp
57The options are as follows:
58.Bl -tag -width Fl
59.It Fl d
60Attempt to remove directories as well as other types of files.
61.It Fl f
62Attempt to remove the files without prompting for confirmation,
63regardless of the file's permissions.
64If the file does not exist, do not display a diagnostic message or modify
65the exit status to reflect an error.
66The
67.Fl f
68option overrides any previous
69.Fl i
70options.
71.It Fl i
72Request confirmation before attempting to remove each file, regardless of
73the file's permissions, or whether or not the standard input device is a
74terminal.
75The
76.Fl i
77option overrides any previous
78.Fl f
79options.
80.It Fl P
81Overwrite regular files before deleting them.
82Files are overwritten three times, first with the byte pattern 0xff,
83then 0x00, and then 0xff again, before they are deleted.
84.It Fl R
85Attempt to remove the file hierarchy rooted in each file argument.
86The
87.Fl R
88option implies the
89.Fl d
90option.
91If the
92.Fl i
93option is specified, the user is prompted for confirmation before
94each directory's contents are processed (as well as before the attempt
95is made to remove the directory).
96If the user does not respond affirmatively, the file hierarchy rooted in
97that directory is skipped.
98.Pp
99.It Fl r
100Equivalent to
101.Fl R .
102.It Fl W
103Attempt to undelete the named files.
104Currently, this option can only be used to recover
105files covered by whiteouts.
106.El
107.Pp
108The
109.Nm
110utility removes symbolic links, not the files referenced by the links.
111.Pp
112It is an error to attempt to remove the files
113.Dq \&.
114or
115.Dq .. .
116.Pp
117The
118.Nm
119utility exits 0 if all of the named files or file hierarchies were removed,
120or if the
121.Fl f
122option was specified and all of the existing files or file hierarchies were
123removed.
124If an error occurs,
125.Nm
126exits with a value >0.
127.Sh NOTE
128The
129.Nm
130command uses
131.Xr getopt 3
132to parse its arguments, which allows it to accept
133the
134.Sq Li --
135option which will cause it to stop processing flag options at that
136point.  This will allow the removal of file names that begin
137with a dash
138.Pq Sq - .
139For example:
140.Dl rm -- -filename
141The same behavior can be obtained by using an absolute or relative
142path reference.  For example:
143.Dl rm /home/user/-filename
144.Dl rm ./-filename
145.Sh SEE ALSO
146.Xr rmdir 1 ,
147.Xr undelete 2 ,
148.Xr unlink 2 ,
149.Xr fts 3 ,
150.Xr getopt 3 ,
151.Xr symlink 7
152.Sh BUGS
153The
154.Fl P
155option assumes that the underlying file system is a fixed-block file
156system.
157UFS is a fixed-block file system, LFS is not.
158In addition, only regular files are overwritten, other types of files
159are not.
160.Sh COMPATIBILITY
161The
162.Nm
163utility differs from historical implementations in that the
164.Fl f
165option only masks attempts to remove non-existent files instead of
166masking a large variety of errors.
167.Pp
168Also, historical
169.Bx
170implementations prompted on the standard output,
171not the standard error output.
172.Sh STANDARDS
173The
174.Nm
175command is almost
176.St -p1003.2
177compatible, except that
178.Tn POSIX
179requires
180.Nm rm
181to act like
182.Xr rmdir 1
183when the
184.Ar file
185specified is a directory.  This implementation requires the
186.Fl d
187option if such behavior is desired.  This follows the historical
188behavior of
189.Nm
190with respect to directories.
191.Sh HISTORY
192A
193.Nm
194command appeared in
195.At v1 .
196