Go to the first, previous, next, last section, table of contents.


rm: Remove files or directories

rm removes each given file. By default, it does not remove directories. Synopsis:

rm [option]... [file]...

If a file is unwritable, standard input is a terminal, and the `-f' or `--force' option is not given, or the `-i' or `--interactive' option is given, rm prompts the user for whether to remove the file. If the response does not begin with `y' or `Y', the file is skipped.

The program accepts the following options. Also see section Common options.

`-d'
`--directory'
Remove directories with unlink instead of rmdir, and don't require a directory to be empty before trying to unlink it. Only works if you have appropriate privileges. Because unlinking a directory causes any files in the deleted directory to become unreferenced, it is wise to fsck the filesystem after doing this.
`-f'
`--force'
Ignore nonexistent files and never prompt the user.
`-i'
`--interactive'
Prompt whether to remove each file. If the response does not begin with `y' or `Y', the file is skipped.
`-r'
`-R'
`--recursive'
Remove the contents of directories recursively.
`-v'
`--verbose'
Print the name of each file before removing it.

One common question is how to remove files whose names being 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.


Go to the first, previous, next, last section, table of contents.