-.\" $NetBSD: rm.1,v 1.9 1997/10/20 08:53:14 enami Exp $
-.\"
.\" Copyright (c) 1990, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" SUCH DAMAGE.
.\"
.\" @(#)rm.1 8.5 (Berkeley) 12/5/94
+.\" $FreeBSD: src/bin/rm/rm.1,v 1.23 2001/07/15 07:49:05 dd Exp $
.\"
-.Dd December 5, 1994
+.Dd January 28, 1999
.Dt RM 1
.Os
.Sh NAME
-.Nm rm
+.Nm rm ,
+.Nm unlink
.Nd remove directory entries
.Sh SYNOPSIS
.Nm
-.Op Fl f | Fl i
-.Op Fl dPRrW
-.Ar file ...
+.Op Fl dfiPRrvW
+.Ar
+.Nm unlink
+.Ar file
.Sh DESCRIPTION
The
.Nm
output) for confirmation.
.Pp
The options are as follows:
-.Bl -tag -width flag
+.Bl -tag -width Fl
.It Fl d
Attempt to remove directories as well as other types of files.
.It Fl f
The
.Fl f
option overrides any previous
-.Fl i
+.Fl i
options.
.It Fl i
Request confirmation before attempting to remove each file, regardless of
The
.Fl i
option overrides any previous
-.Fl f
+.Fl f
options.
.It Fl P
Overwrite regular files before deleting them.
then 0x00, and then 0xff again, before they are deleted.
.It Fl R
Attempt to remove the file hierarchy rooted in each file argument.
-The
+The
.Fl R
option implies the
.Fl d
option.
If the
.Fl i
-option is specified, the user is prompted for confirmation before
+option is specified, the user is prompted for confirmation before
each directory's contents are processed (as well as before the attempt
is made to remove the directory).
If the user does not respond affirmatively, the file hierarchy rooted in
.It Fl r
Equivalent to
.Fl R .
+.It Fl v
+Be verbose when deleting files, showing them as they are removed.
.It Fl W
-Attempts to undelete the named files.
+Attempt to undelete the named files.
Currently, this option can only be used to recover
files covered by whiteouts.
.El
.Nm
utility removes symbolic links, not the files referenced by the links.
.Pp
-It is an error to attempt to remove the files ``.'' and ``..''.
+It is an error to attempt to remove the files
+.Dq .\&
+or
+.Dq .. .
+.Pp
+When the utility is called as
+.Nm unlink ,
+only one argument,
+which must not be a directory,
+may be supplied.
+No options may be supplied in this simple mode of operation,
+which performs an
+.Xr unlink 2
+operation on the passed argument.
.Pp
The
.Nm
If an error occurs,
.Nm
exits with a value >0.
+.Sh NOTE
+The
+.Nm
+command uses
+.Xr getopt 3
+to parse its arguments, which allows it to accept
+the
+.Sq Li --
+option which will cause it to stop processing flag options at that
+point. This will allow the removal of file names that begin
+with a dash
+.Pq Sq - .
+For example:
+.Dl rm -- -filename
+The same behavior can be obtained by using an absolute or relative
+path reference. For example:
+.Dl rm /home/user/-filename
+.Dl rm ./-filename
.Sh SEE ALSO
.Xr rmdir 1 ,
.Xr undelete 2 ,
.Xr unlink 2 ,
.Xr fts 3 ,
+.Xr getopt 3 ,
.Xr symlink 7
.Sh BUGS
The
.Fl P
option assumes that the underlying file system is a fixed-block file
-system.
-UFS is a fixed-block file system, LFS is not.
-In addition, only regular files are overwritten, other types of files
+system. In addition, only regular files are overwritten, other types of files
are not.
.Sh COMPATIBILITY
The
.Fl f
option only masks attempts to remove non-existent files instead of
masking a large variety of errors.
+The
+.Fl v
+option is non-standard and its use in scripts is not recommended.
.Pp
Also, historical
.Bx
.Sh STANDARDS
The
.Nm
-utility is expected to be
+command is almost
.St -p1003.2
-compatible.
+compatible, except that
+.Tn POSIX
+requires
+.Nm
+to act like
+.Xr rmdir 1
+when the
+.Ar file
+specified is a directory. This implementation requires the
+.Fl d
+option if such behavior is desired. This follows the historical
+behavior of
+.Nm
+with respect to directories.
+.Pp
+The simplified
+.Nm unlink
+command conforms to
+.St -susv2 .
+.Sh HISTORY
+A
+.Nm
+command appeared in
+.At v1 .