# man > rm

> **TLDR:** Remove files or directories.
>
- Remove specific files:
  `rm {{path/to/file1 path/to/file2 ...}}`
- Remove specific files ignoring nonexistent ones:
  `rm {{-f|--force}} {{path/to/file1 path/to/file2 ...}}`
- Remove specific files interactively prompting before each removal:
  `rm {{-i|--interactive}} {{path/to/file1 path/to/file2 ...}}`
- Remove specific files printing info about each removal:
  `rm {{-v|--verbose}} {{path/to/file1 path/to/file2 ...}}`
- Remove specific files and directories recursively:
  `rm {{-r|--recursive}} {{path/to/file_or_directory1 path/to/file_or_directory2 ...}}`
- Remove empty directories (this is considered the safe method):
  `rm {{-d|--dir}} {{path/to/directory}}`

*Source: tldr-pages*

---

[_RM_(1)](https://www.chedong.com/phpMan.php/man/RM/1/markdown)                                       User Commands                                      [_RM_(1)](https://www.chedong.com/phpMan.php/man/RM/1/markdown)

## NAME
       rm - remove files or directories

## SYNOPSIS
       **rm **[_OPTION_]... [_FILE_]...

## DESCRIPTION
       This  manual  page  documents the GNU version of **rm**.  **rm **removes each specified file.  By de‐
       fault, it does not remove directories.

       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_  op‐
       tion 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.

## OPTIONS
       Remove (unlink) the FILE(s).

### -f --force
              ignore nonexistent files and arguments, never prompt

### -i     

### -I     
              intrusive than **-i**, while still giving protection against most mistakes

       **--interactive**[=_WHEN_]
              prompt according to WHEN: never, once (**-I**), or always (**-i**); without WHEN,  prompt  al‐
              ways

### --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

### --no-preserve-root
              do not treat '/' specially

       **--preserve-root**[=_all_]
              do not remove '/' (default); with 'all', reject any command line argument on  a  sepa‐
              rate device from its parent

### -r -R --recursive
              remove directories and their contents recursively

### -d --dir
              remove empty directories

### -v --verbose
              explain what is being done

       **--help **display this help and exit

### --version
              output version information and exit

       By  default, rm does not remove directories.  Use the **--recursive **(**-r **or **-R**) option to remove
       each listed directory, too, along with all of its contents.

       To remove a file whose name starts with a '-', for example '-foo', use one of these commands:

              rm **-- -foo**

              rm ./-foo

       Note that if you use rm to remove a file, it might be possible to recover some  of  its  con‐
       tents,  given  sufficient expertise and/or time.  For greater assurance that the contents are
       truly unrecoverable, consider using [**shred**(1)](https://www.chedong.com/phpMan.php/man/shred/1/markdown).

## AUTHOR
       Written by Paul Rubin, David MacKenzie, Richard M. Stallman, and Jim Meyering.

## REPORTING BUGS
       GNU coreutils online help: <<https://www.gnu.org/software/coreutils/>>
       Report any translation bugs to <<https://translationproject.org/team/>>

## COPYRIGHT
       Copyright © 2023 Free Software Foundation, Inc.  License GPLv3+: GNU GPL version 3  or  later
       <<https://gnu.org/licenses/gpl.html>>.
       This  is free software: you are free to change and redistribute it.  There is NO WARRANTY, to
       the extent permitted by law.

## SEE ALSO
       [**unlink**(1)](https://www.chedong.com/phpMan.php/man/unlink/1/markdown), [**unlink**(2)](https://www.chedong.com/phpMan.php/man/unlink/2/markdown), [**chattr**(1)](https://www.chedong.com/phpMan.php/man/chattr/1/markdown), [**shred**(1)](https://www.chedong.com/phpMan.php/man/shred/1/markdown)

       Full documentation <<https://www.gnu.org/software/coreutils/rm>>
       or available locally via: info '(coreutils) rm invocation'

GNU coreutils 9.4                           January 2026                                       [_RM_(1)](https://www.chedong.com/phpMan.php/man/RM/1/markdown)
