[Previous] [Contents] [Next]

rm

Remove files (POSIX)

Syntax:

rm [-Rfir] [-d] [-l n] [-v] file...

Options:

-d
(QNX extension) If the -R option is specified, remove the files but leave the directory tree intact (i.e. no rmdir is performed).
-f
Force each specified file to be removed without prompting for confirmation.
-i
Be interactive; request confirmation before removing each existing file.
-l n
("el") (QNX extension) If the -R option is specified, recurse only n levels down a directory tree.
-r
Equivalent to the -R option (below).
-R
Recursively remove files and subdirectories under directories given as arguments. This process removes the directory and the entire file tree under it.
Caution: The -R option must be used with care, as it removes directories, subdirectories, and files. Using the -i option with -R adds a measure of safety by turning on interactive prompting before each file or directory is removed.

-v
(QNX extension) Be verbose; print out files and directories as they are removed.
file
The pathname of a file to be removed.

Description:

The rm utility removes each specified file from a directory.

By default, rm refuses to remove any file that names a directory. This may be overridden with the -R or -r options. In any case, rm always refuses to remove the current working directory.

If a file operand has been specified but doesn't exist and the -f option hasn't been given, a message is written to the standard error output. If -f has been given, the error message isn't written. In either case, rm goes on to any remaining files.

The rm utility doesn't necessarily remove the file data from the disk. A file may have more than one link; that is, it may be known by more than one name in the filesystem (see the ln utility for information on creating links). The rm utility breaks one such link; it dissociates the file from one name. If this is the only link, the file data become inaccessible and the file space is returned to the system for reuse. Otherwise, the data remains accessible via other names.

Examples:

Remove the a.out and core files.

    rm a.out core

Remove the directory junk and all its contents, without prompting.

    rm -Rf junk

Environment variables:

If POSIX_STRICT is set, -f and -i will be operationally exclusive -- only the last instance of -i or -f will take effect; instances appearing earlier on the command line will be ignored. i.e. rm -i -f * = force, rm -f -i * = interactive. If POSIX_STRICT is not set, -i will require confirmations regardless of whether or not -f is specified.

In a future release, rm's default behavior will be changed to the POSIX behavior. To work correctly with both current and later versions, either avoid the use of -f and -i together, or run rm with POSIX_STRICT set.

Exit status:

0
All the named files were removed.
>0
An error occurred.

See also:

find (-remove! primitive), rmdir


[Previous] [Contents] [Next]