add POSIX/IEEE contribution notice
[unix-history] / usr / src / bin / rm / rm.1
index c262b0e..7ae3746 100644 (file)
-.\" 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 The Regents of the University of California.
+.\" All rights reserved.
 .\"
 .\"
-.\"    @(#)rm.1        4.1 (Berkeley) %G%
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
 .\"
 .\"
-.TH RM 1 4/1/81
-.UC 4
-.SH NAME
-rm, rmdir  \- remove (unlink) files
-.SH SYNOPSIS
-.B rm
-[
-.B \-f
-] [
-.B \-r
-] [
-.B \-i
-] [
-.B \-
-] 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.man%
+.\"
+.\"     @(#)rm.1       6.8 (Berkeley) %G%
+.\"
+.Vx
+.Dd 
+.Dt RM 1
+.Os
+.Sh NAME
+.Nm rm
+.Nd remove directory entries
+.Sh SYNOPSIS
+.Nm rm
+.Op Fl f Li \&| Fl i
+.Op Fl dRr
+.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:
+.Tw 8n
+.Tp Fl d
+Attempt to remove directories as well as other types of files.
+.Tp 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.
+.Tp 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.
+.Tp Fl R
+Attempt to remove the file hierarchy rooted in each file argument.
+The 
+.Fl R
+option implies the
+.Fl d
+option.
 If the
 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
-The null option
-.B \-
-indicates that all the arguments following it are to be treated as
-file names.  This allows the specification of file names starting with
-a minus.
-.PP
-.I Rmdir
-removes entries for the named directories,
-which must be empty.
-.SH "SEE ALSO"
-unlink(2)
-.SH DIAGNOSTICS
-Generally self-explanatory.
-It is forbidden to remove the file `..' merely to avoid the
-antisocial consequences of inadvertently doing something like
-`rm \-r .*'.
+.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
+.Tp Fl r
+Equivalent to
+.Fl R .
+.Tp
+.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 fts 3
+.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 BSD 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.