logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

rm - remove files or directories

Author

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

Description

       This  manual  page documents the GNU version of rm.  rm removes each specified file.  By default, 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 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.

Name

       rm - remove files or directories

Options

       Remove (unlink) the FILE(s).

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

       -i     prompt before every removal

       -I     prompt  once  before  removing more than three files, or when removing recursively; less 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 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

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

       --preserve-root[=all]
              do  not  remove  '/'  (default); with 'all', reject any command line argument on a separate 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.

       Any  attempt  to  remove  a  file  whose  last  file  name  component  is '.' or '..'  is rejected with a
       diagnostic.

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

              rm ---foo

              rm ./-foo

       If you use rm to remove a file, it might be possible to recover some of its  contents,  given  sufficient
       expertise  and/or  time.   For  greater  assurance  that  the  contents are unrecoverable, consider using
       shred(1).

Reporting Bugs

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

See Also

unlink(1), unlink(2), chattr(1), shred(1)

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

GNU coreutils 9.5                                  April 2025                                              RM(1)

Synopsis

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

See Also