Annotation of othersrc/bin/rm/rm.1, Revision 1.1
1.1 ! stacktic 1: .\" $NetBSD: rm.1,v 1.24 2006/09/02 23:28:32 wiz Exp $
! 2: .\"
! 3: .\" Copyright (c) 1990, 1993, 1994, 2003
! 4: .\" The Regents of the University of California. All rights reserved.
! 5: .\"
! 6: .\" This code is derived from software contributed to Berkeley by
! 7: .\" the Institute of Electrical and Electronics Engineers, Inc.
! 8: .\"
! 9: .\" Redistribution and use in source and binary forms, with or without
! 10: .\" modification, are permitted provided that the following conditions
! 11: .\" are met:
! 12: .\" 1. Redistributions of source code must retain the above copyright
! 13: .\" notice, this list of conditions and the following disclaimer.
! 14: .\" 2. Redistributions in binary form must reproduce the above copyright
! 15: .\" notice, this list of conditions and the following disclaimer in the
! 16: .\" documentation and/or other materials provided with the distribution.
! 17: .\" 3. Neither the name of the University nor the names of its contributors
! 18: .\" may be used to endorse or promote products derived from this software
! 19: .\" without specific prior written permission.
! 20: .\"
! 21: .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
! 22: .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
! 23: .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
! 24: .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
! 25: .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
! 26: .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
! 27: .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
! 28: .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
! 29: .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
! 30: .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
! 31: .\" SUCH DAMAGE.
! 32: .\"
! 33: .\" @(#)rm.1 8.5 (Berkeley) 12/5/94
! 34: .\"
! 35: .Dd August 25, 2006
! 36: .Dt RM 1
! 37: .Os
! 38: .Sh NAME
! 39: .Nm rm
! 40: .Nd remove directory entries
! 41: .Sh SYNOPSIS
! 42: .Nm
! 43: .Op Fl f | Fl i
! 44: .Op Fl dPRrvW
! 45: .Ar
! 46: .Sh DESCRIPTION
! 47: The
! 48: .Nm
! 49: utility attempts to remove the non-directory type files specified on the
! 50: command line.
! 51: If the permissions of the file do not permit writing, and the standard
! 52: input device is a terminal, the user is prompted (on the standard error
! 53: output) for confirmation.
! 54: .Pp
! 55: The options are as follows:
! 56: .Bl -tag -width flag
! 57: .It Fl d
! 58: Attempt to remove directories as well as other types of files.
! 59: .It Fl f
! 60: Attempt to remove the files without prompting for confirmation,
! 61: regardless of the file's permissions.
! 62: If the file does not exist, do not display a diagnostic message or modify
! 63: the exit status to reflect an error.
! 64: The
! 65: .Fl f
! 66: option overrides any previous
! 67: .Fl i
! 68: options.
! 69: .It Fl i
! 70: Request confirmation before attempting to remove each file, regardless of
! 71: the file's permissions, or whether or not the standard input device is a
! 72: terminal.
! 73: The
! 74: .Fl i
! 75: option overrides any previous
! 76: .Fl f
! 77: options.
! 78: .It Fl P
! 79: Overwrite regular files before deleting them.
! 80: Files are overwritten three times, first with the byte pattern 0xff,
! 81: then 0x00, and then with random data, before they are deleted.
! 82: Some care is taken to ensure that the data are actually written to
! 83: disk, but this cannot be guaranteed, even on traditional filesystems;
! 84: on log-structured filesystems or if any block-journaling scheme is
! 85: in use, this option is completely useless.
! 86: If the file cannot be
! 87: overwritten, it will not be removed.
! 88: .It Fl R
! 89: Attempt to remove the file hierarchy rooted in each file argument.
! 90: The
! 91: .Fl R
! 92: option implies the
! 93: .Fl d
! 94: option.
! 95: If the
! 96: .Fl i
! 97: option is specified, the user is prompted for confirmation before
! 98: each directory's contents are processed (as well as before the attempt
! 99: is made to remove the directory).
! 100: If the user does not respond affirmatively, the file hierarchy rooted in
! 101: that directory is skipped.
! 102: .Pp
! 103: .It Fl r
! 104: Equivalent to
! 105: .Fl R .
! 106: .It Fl v
! 107: Cause
! 108: .Nm
! 109: to be verbose, showing files as they are processed.
! 110: .It Fl W
! 111: Attempts to undelete the named files.
! 112: Currently, this option can only be used to recover
! 113: files covered by whiteouts.
! 114: .El
! 115: .Pp
! 116: The
! 117: .Nm
! 118: utility removes symbolic links, not the files referenced by the links.
! 119: .Pp
! 120: It is an error to attempt to remove the files ``.'' and ``..''.
! 121: .Sh EXIT STATUS
! 122: The
! 123: .Nm
! 124: utility exits 0 if all of the named files or file hierarchies were removed,
! 125: or if the
! 126: .Fl f
! 127: option was specified and all of the existing files or file hierarchies were
! 128: removed.
! 129: If an error occurs,
! 130: .Nm
! 131: exits with a value \*[Gt]0.
! 132: .Sh EXAMPLES
! 133: .Nm
! 134: uses
! 135: .Xr getopt 3
! 136: standard argument processing.
! 137: Removing filenames that begin with a dash
! 138: .Pq e.g., Ar -file
! 139: in the current directory which might otherwise be taken as option flags to
! 140: .Nm
! 141: can be accomplished as follows:
! 142: .Pp
! 143: .Ic "rm -- -file"
! 144: .Pp
! 145: or
! 146: .Pp
! 147: .Ic "rm ./-file"
! 148: .Sh SEE ALSO
! 149: .Xr rmdir 1 ,
! 150: .Xr undelete 2 ,
! 151: .Xr unlink 2 ,
! 152: .Xr fts 3 ,
! 153: .Xr getopt 3 ,
! 154: .Xr symlink 7
! 155: .Sh BUGS
! 156: The
! 157: .Fl P
! 158: option assumes that the underlying file system is a fixed-block file
! 159: system.
! 160: FFS is a fixed-block file system, LFS is not.
! 161: In addition, only regular files are overwritten, other types of files
! 162: are not.
! 163: Recent research indicates that as many as 35 overwrite passes with
! 164: carefully chosen data patterns may be necessary to actually prevent
! 165: recovery of data from a magnetic disk.
! 166: Thus the
! 167: .Fl P
! 168: option is likely both insufficient for its design purpose and far
! 169: too costly for default operation.
! 170: However, it will at least prevent the recovery of data from FFS
! 171: volumes with
! 172: .Xr fsdb 8 .
! 173: .Sh COMPATIBILITY
! 174: The
! 175: .Nm
! 176: utility differs from historical implementations in that the
! 177: .Fl f
! 178: option only masks attempts to remove non-existent files instead of
! 179: masking a large variety of errors.
! 180: .Pp
! 181: Also, historical
! 182: .Bx
! 183: implementations prompted on the standard output,
! 184: not the standard error output.
! 185: .Sh STANDARDS
! 186: The
! 187: .Nm
! 188: utility is expected to be
! 189: .St -p1003.2
! 190: compatible.
! 191: The
! 192: .Fl v
! 193: option is an extension.
! 194: .Pp
! 195: The
! 196: .Fl P
! 197: option attempts to conform to U.S. DoD 5220-22.M, "National Industrial
! 198: Security Program Operating Manual" ("NISPOM") as updated by Change
! 199: 2 and the July 23, 2003 "Clearing \*[Am] Sanitization Matrix".
! 200: However, unlike earlier revisions of NISPOM, the 2003 matrix imposes
! 201: requirements which make it clear that the standard does not and
! 202: can not apply to the erasure of individual files, in particular
! 203: requirements relating to spare sector management for an entire
! 204: magnetic disk.
! 205: .Em Because these requirements are not met, the
! 206: .Fl P
! 207: .Em option does not conform to the standard .
CVSweb <webmaster@jp.NetBSD.org>