Man Pages

rm - phpMan rm - phpMan

Command: man perldoc info search(apropos)  


File: coreutils.info,  Node: rm invocation,  Next: shred invocation,  Prev: mv invocation,  Up: Basic operations

11.5 `rm': Remove files or directories
======================================

`rm' removes each given FILE.  By default, it does not remove
directories.  Synopsis:

     rm [OPTION]... [FILE]...

   If the `-I' or `--interactive=once' option is given, and there are
more than three files or the `-r', `-R', or `--recursive' are given,
then `rm' prompts the user for whether to proceed with the entire
operation.  If the response is not affirmative, the entire command is
aborted.

   Otherwise, if a file is unwritable, standard input is a terminal, and
the `-f' or `--force' option is not given, or the `-i' or
`--interactive=always' option _is_ given, `rm' prompts the user for
whether to remove the file.  If the response is not affirmative, the
file is skipped.

   Any attempt to remove a file whose last file name component is `.'
or `..' is rejected without any prompting.

   _Warning_: If you use `rm' to remove a file, it is usually possible
to recover the contents of that file.  If you want more assurance that
the contents are truly unrecoverable, consider using `shred'.

   The program accepts the following options.  Also see *note Common
options::.

`-f'
`--force'
     Ignore nonexistent files and never prompt the user.  Ignore any
     previous `--interactive' (`-i') option.

`-i'
     Prompt whether to remove each file.  If the response is not
     affirmative, the file is skipped.  Ignore any previous `--force'
     (`-f') option.  Equivalent to `--interactive=always'.

`-I'
     Prompt once whether to proceed with the command, if more than three
     files are named or if a recursive removal is requested.  Ignore any
     previous `--force' (`-f') option.  Equivalent to
     `--interactive=once'.

`--interactive [=WHEN]'
     Specify when to issue an interactive prompt.  WHEN may be omitted,
     or one of:
        * never - Do not prompt at all.

        * once - Prompt once if more than three files are named or if a
          recursive removal is requested.  Equivalent to `-I'.

        * always - Prompt for every file being removed.  Equivalent to
          `-i'.
     `--interactive' with no WHEN is equivalent to
     `--interactive=always'.

`--one-file-system'
     When removing a hierarchy recursively, skip any directory that is
     on a file system different from that of the corresponding command
     line argument.

     This option is useful when removing a build "chroot" hierarchy,
     which normally contains no valuable data.  However, it is not
     uncommon to bind-mount `/home' into such a hierarchy, to make it
     easier to use one's start-up file.  The catch is that it's easy to
     forget to unmount `/home'.  Then, when you use `rm -rf' to remove
     your normally throw-away chroot, that command will remove
     everything under `/home', too.  Use the `--one-file-system'
     option, and it will warn about and skip directories on other file
     systems.  Of course, this will not save your `/home' if it and your
     chroot happen to be on the same file system.

`--preserve-root'
     Fail upon any attempt to remove the root directory, `/', when used
     with the `--recursive' option.  This is the default behavior.
     *Note Treating / specially::.

`--no-preserve-root'
     Do not treat `/' specially when removing recursively.  This option
     is not recommended unless you really want to remove all the files
     on your computer.  *Note Treating / specially::.

`-r'
`-R'
`--recursive'
     Remove the listed directories and their contents recursively.

`-v'
`--verbose'
     Print the name of each file before removing it.


   One common question is how to remove files whose names begin with a
`-'.  GNU `rm', like every program that uses the `getopt' function to
parse its arguments, lets you use the `--' option to indicate that all
following arguments are non-options.  To remove a file called `-f' in
the current directory, you could type either:

     rm -- -f

or:

     rm ./-f

   The Unix `rm' program's use of a single `-' for this purpose
predates the development of the getopt standard syntax.

   An exit status of zero indicates success, and a nonzero value
indicates failure.