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