add whiteouts
[unix-history] / usr / src / bin / rm / rm.1
index 3c7d3ae..928b3ce 100644 (file)
@@ -1,20 +1,23 @@
-.\" 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
 .\"
 .Dd 
 .Dt RM 1
-.Os BSD 4.4
+.Os
 .Sh NAME
 .Nm rm
 .Nd remove directory entries
 .Sh SYNOPSIS
 .Nm rm
 .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
 .Ar file ...
 .Sh DESCRIPTION
 The
@@ -26,10 +29,10 @@ input device is a terminal, the user is prompted (on the standard error
 output) for confirmation.
 .Pp
 The options are as follows:
 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.
 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
 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
@@ -39,7 +42,7 @@ The
 option overrides any previous
 .Fl i 
 options.
 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.
 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.
@@ -48,7 +51,11 @@ The
 option overrides any previous
 .Fl f 
 options.
 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
 Attempt to remove the file hierarchy rooted in each file argument.
 The 
 .Fl R
@@ -63,10 +70,12 @@ is made to remove the directory).
 If the user does not respond affirmatively, the file hierarchy rooted in
 that directory is skipped.
 .Pp
 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 .
 Equivalent to
 .Fl R .
-.Tp
+.It Fl W
+Removes a whiteout.
+.El
 .Pp
 The
 .Nm rm
 .Pp
 The
 .Nm rm
@@ -84,11 +93,20 @@ removed.
 If an error occurs,
 .Nm rm
 exits with a value >0.
 If an error occurs,
 .Nm rm
 exits with a value >0.
-.Tp
 .Sh SEE ALSO
 .Xr rmdir 1 ,
 .Xr unlink 2 ,
 .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
 .Sh COMPATIBILITY
 The
 .Nm rm
@@ -97,9 +115,13 @@ utility differs from historical implementations in that the
 option only masks attempts to remove non-existent files instead of
 masking a large variety of errors.
 .Pp
 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
 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.