- Remove files from arbitrary locations:
rm path/to/file path/to/another/file
- Recursively remove a directory and all its subdirectories:
rm -r path/to/directory
- Forcibly remove a directory, without prompting for confirmation or showing error messages:
rm -rf path/to/directory
- Interactively remove multiple files, with a prompt before every removal:
rm -i file(s)
- Remove files in verbose mode, printing a message for each removed file:
rm -v path/to/directory/*
rm [OPTION]... [FILE]...
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.
Remove (unlink) the FILE(s).
- -f, --force
ignore nonexistent files and arguments, never prompt
prompt before every removal
prompt once before removing more than three files, or when removing recursively; less intrusive than -i, while still giving protection against most mistakes
prompt according to WHEN: never, once (-I), or always (-i); without WHEN, prompt always
when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument
do not treat '/' specially
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
display this help and exit
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
Note that 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 truly unrecoverable, consider using shred(1).
Written by Paul Rubin, David MacKenzie, Richard M. Stallman, and Jim Meyering.
GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>
Copyright © 2022 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.
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'
ch-run(1), clifm(1), debugfs(8), gio(1), lockfile(1), lsof(1), mksh(1), mq_overview(7), ocfs2(7), oksh(1), ptrash(1), rcm(7), remove(3), rmdir(2), rmlint(1), samefile(1), srm(1), symlink(7), tmpwatch(8), unlink(2).