X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/3d66c4214f24c7b2546a55d727b63f376ab58fd3..edc4d417e6a91186c8fc00b1606ff4bc7e20c815:/usr/src/bin/rm/rm.1 diff --git a/usr/src/bin/rm/rm.1 b/usr/src/bin/rm/rm.1 index eaa291c5c0..928b3ce302 100644 --- a/usr/src/bin/rm/rm.1 +++ b/usr/src/bin/rm/rm.1 @@ -1,61 +1,127 @@ -.\" Copyright (c) 1980 Regents of the University of California. -.\" All rights reserved. The Berkeley software License Agreement -.\" specifies the terms and conditions for redistribution. +.\" Copyright (c) 1990, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. .\" -.\" @(#)rm.1 6.2 (Berkeley) %G% +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. .\" -.TH RM 1 "" -.UC 4 -.SH NAME -rm, rmdir \- remove (unlink) files or directories -.SH SYNOPSIS -.B rm -[ -.B \-f -] [ -.B \-r -] [ -.B \-i -] file ... -.PP -.B rmdir -dir ... -.PP -.SH DESCRIPTION -.I Rm -removes the entries for one or more files from a directory. -If an entry was the last link to the file, the file is destroyed. -Removal of a file requires write permission in its directory, -but neither read nor write permission on the file itself. -.PP -If a file has no write permission and the standard input is a terminal, -its permissions are printed and a line is read from the standard input. -If that line begins with `y' the file is deleted, otherwise the file remains. -No questions are asked and no errors are reported when the -.B \-f -(force) option is given. -.PP -If a designated file is a directory, -an error comment is printed unless the optional argument -.B \-r -has been used. In that case, -.I rm -recursively deletes the entire contents of the specified directory, -and the directory itself. -.PP +.\" %sccs.include.redist.roff% +.\" +.\" @(#)rm.1 8.3 (Berkeley) %G% +.\" +.Dd +.Dt RM 1 +.Os +.Sh NAME +.Nm rm +.Nd remove directory entries +.Sh SYNOPSIS +.Nm rm +.Op Fl f | Fl i +.Op Fl dPRrW +.Ar file ... +.Sh DESCRIPTION +The +.Nm rm +utility attempts to remove the non-directory type files specified on the +command line. +If the permissions of the file do not permit writing, and the standard +input device is a terminal, the user is prompted (on the standard error +output) for confirmation. +.Pp +The options are as follows: +.Bl -tag -width flag +.It Fl d +Attempt to remove directories as well as other types of files. +.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 +the exit status to reflect an error. +The +.Fl f +option overrides any previous +.Fl i +options. +.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. +The +.Fl i +option overrides any previous +.Fl f +options. +.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 +option implies the +.Fl d +option. If the -.B \-i -(interactive) option is in effect, -.I rm -asks whether to delete each file, and, under -.BR \-r , -whether to examine each directory. -.PP -Since getopt recognizes the string ``--'' as terminating the set -of options, it can be used to allow the removal of file names -starting with a dash. -.PP -.I Rmdir -removes entries for the named directories, which must be empty. -.SH "SEE ALSO" -rm(1), unlink(2), rmdir(2) +.Fl i +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 +that directory is skipped. +.Pp +.It Fl r +Equivalent to +.Fl R . +.It Fl W +Removes a whiteout. +.El +.Pp +The +.Nm rm +utility removes symbolic links, not the files referenced by the links. +.Pp +It is an error to attempt to remove the files ``.'' and ``..''. +.Pp +The +.Nm rm +utility exits 0 if all of the named files or file hierarchies were removed, +or if the +.Fl f +option was specified and all of the existing files or file hierarchies were +removed. +If an error occurs, +.Nm rm +exits with a value >0. +.Sh SEE ALSO +.Xr rmdir 1 , +.Xr unlink 2 , +.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 +utility differs from historical implementations in that the +.Fl f +option only masks attempts to remove non-existent files instead of +masking a large variety of errors. +.Pp +Also, historical +.Bx +implementations prompted on the standard output, +not the standard error output. +.Sh STANDARDS +The +.Nm rm +command is expected to be +.St -p1003.2 +compatible.