rm - remove directory entries
rm [-f | -i] [-dPRrW] file [...]
The rm utility attempts to remove the non-directory type
on the command line. If the permissions of the file do not
and the standard input device is a terminal, the user
(on the standard error output) for confirmation.
The options are as follows:
-d Attempt to remove directories as well as other types
-f Attempt to remove the files without prompting for
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 -f option overrides
any previous -i
-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 -i option
previous -f options.
-P Overwrite regular files before deleting them. Files
three times, first with the byte pattern
0xff, then 0x00,
and then 0xff again, before they are deleted. Files
links will not be overwritten.
-R Attempt to remove the file hierarchy rooted in each
The -R option implies the -d option. If the
-i option is
specified, the user is prompted for confirmation before each directory's
contents are processed (as well as before
is made to remove the directory). If the user does
affirmatively, the file hierarchy rooted in that directory is
-r Equivalent to -R.
-W Attempts to undelete the named files. Currently,
this option can
only be used to recover files covered by whiteouts
The rm utility removes symbolic links, not the files referenced by the
It is an error to attempt to remove the files ``.'' or
``..''. It is
forbidden to remove the file ``..'' merely to avoid the antisocial consequences
of inadvertently doing something like ``rm -r .*''.
The rm utility exits 0 if all of the named files or file hierarchies were
removed, or if the -f option was specified and all of the
or file hierarchies were removed. If an error occurs, rm
exits with a
Recursively remove all files contained within the foobar directory hierarchy:
$ rm -rf foobar
Either of these commands will remove the file -f:
$ rm -- -f
$ rm ./-f
rmdir(1), unlink(2), fts(3), symlink(7)
The rm utility differs from historical implementations in
that the -f option
only masks attempts to remove non-existent files instead of masking
a large variety of errors.
Also, historical BSD implementations prompted on the standard output, not
the standard error output.
The interactive mode used to be a dsw command, a carryover
from the ancient
past with an amusing etymology.
The rm utility is almost IEEE Std 1003.2 (``POSIX.2'') compatible, except
that POSIX requires rm to act like rmdir(1) when the file
specified is a
directory. This implementation requires the -d option if
is desired. This follows the historical behavior of rm with
An rm command appeared in Version 1 AT&T UNIX.
The -P option assumes that the underlying file system is a
file system. UFS is a fixed-block file system; LFS is not.
only regular files are overwritten, other types of files are
OpenBSD 3.6 December 5, 1994
[ Back ]