RTFM: 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.