-.\" Copyright (c) 1990 The Regents of the University of California.
-.\" All rights reserved.
+.\" Copyright (c) 1990, 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
.\"
-.\" %sccs.include.redist.man%
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
-.\" @(#)rm.1 6.6 (Berkeley) %G%
+.\" %sccs.include.redist.roff%
+.\"
+.\" @(#)rm.1 8.3 (Berkeley) %G%
.\"
.Dd
.Dt RM 1
-.Os BSD 4.4
+.Os
.Sh NAME
.Nm rm
.Nd remove directory entries
.Sh SYNOPSIS
.Nm rm
-.Op Fl f Li \&| Fl i
-.Op Fl dRr
+.Op Fl f | Fl i
+.Op Fl dPRrW
.Ar file ...
.Sh DESCRIPTION
The
output) for confirmation.
.Pp
The options are as follows:
-.Tw 8n
-.Tp Fl d
+.Bl -tag -width flag
+.It Fl d
Attempt to remove directories as well as other types of files.
-.Tp Fl f
+.It Fl f
Attempt to remove the files without prompting for confirmation,
regardless of the file's permissions.
If the file does not exist, do not display a diagnostic message or modify
option overrides any previous
.Fl i
options.
-.Tp Fl i
+.It Fl i
Request confirmation before attempting to remove each file, regardless of
the file's permissions, or whether or not the standard input device is a
terminal.
option overrides any previous
.Fl f
options.
-.Tp Fl R
+.It Fl P
+Overwrite regular files before deleting them.
+Files are overwritten three times, first with the byte pattern 0xff,
+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
.Fl R
If the user does not respond affirmatively, the file hierarchy rooted in
that directory is skipped.
.Pp
-.Tp Fl r
+.It Fl r
Equivalent to
.Fl R .
-.Tp
+.It Fl W
+Removes a whiteout.
+.El
.Pp
The
.Nm rm
If an error occurs,
.Nm rm
exits with a value >0.
-.Tp
.Sh SEE ALSO
.Xr rmdir 1 ,
.Xr unlink 2 ,
-.Xr fts 3
+.Xr unwhiteout 2 ,
+.Xr fts 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
+are not.
.Sh COMPATIBILITY
The
.Nm rm
option only masks attempts to remove non-existent files instead of
masking a large variety of errors.
.Pp
-Also, historical BSD implementations prompted on the standard output,
+Also, historical
+.Bx
+implementations prompted on the standard output,
not the standard error output.
.Sh STANDARDS
The
.Nm rm
-function is expected to be POSIX 1003.2 compatible.
+command is expected to be
+.St -p1003.2
+compatible.