# phpman > man > rm(1)

> **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.

## 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  ©  2020 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 8.32                          January 2026                                       [RM(1)](https://www.chedong.com/phpMan.php/man/RM/1/markdown)
