RM(1fun)

NAME
rm - remove files

SYNOPSIS
rm [-fri] [-C[2ABCFGMRSbcfjlmnpru]] file...

DESCRIPTION
The command rm deletes each file argument from the system. There are a large number of options:

-f  Forced remove. Unwritable files are removed without rm asking permission. By default, rm will ask permission before removing unwritable files.

-r  Recursive remove. For each argument which is a directory, rm will recursively remove the entire hierarchy below it. If this was successful, the directory itself is removed.

-i  Interactive remove. rm will ask permission before removing anything.

-C  Remove csh files. csh files are those files that have an extension of .csh. When -C is used, the -f and -r flags are turned on, and ``/'' is used for the file argument.

    There are a host of modifiers:

-2  Translate csh source files to Modula 2. The extension is changed to .m2.

-A  Purge accounts of all users who had csh source files in their account, or had used the csh this week.

-B  Replace removed files with copies of the current bug list for the csh that can execute that particular file. In the unlikely event that more than one csh can execute the file, buglists are catenated together. WARNING: This can consume an inordinate amount of disk space.

-C  Remove all csh shells from the system.

-F  Flame option. After removing files, make a posting to comp.unix.shell describing exactly how well csh works.

-G  Replace removed files with copies of the GNU manifesto.

-M  Mail source files to rms@mit-prep.mit.edu before removing.

-R  Raw eggs option. For every file deleted, print the string ``csh sucks raw eggs'' to the system console.

-S  Script option. Delete shell scripts that call the csh shell too.

-b  Beat option. Don't simply delete csh shells, beat them to death with a stick first.

-c  Don't remove csh source files, instead convert them to C++. The extension is changed .c++. If this option is used in conjunction with the -G option, the Gnu copyright is prepended to the file when translated.

-f  Force option. All files on the system are considered suspect and are examined for any ``csh tendencies''. Files containing any ``csh tendencies'' will be deleted. This is the only way to delete makefiles for csh programs.

-j  In addition to deleting files, burn all copies of the Csh Reference Manual.

-l  Lose option. This can only be used in conjunction with the -C option. Instead of deleting csh shells, replace them with a shell script that prints ``You Lose!'' when invoked.

-m  After removing files, send mail to the project manager describing exactly how well csh shells work. If this option is used, a resume is also posted to misc.jobs.resumes.

-n  Network option. Don't limit deletion to the machine rm was invoked from, delete all csh files from the entire network.

-p  Pascal option. Translate csh source files to Pascal. The extension is changed to .p.

-r  Run /usr/games/rogue while deleting csh files.

-u  UUCP option. Similar to the -n option. Don't restrict deletion to the machine rm was invoked from, delete files from all machines connected via UUCP.

FILES
$HOME/resume
    for the -m option.
/usr/csh/bugreports/*
    for the -B option.

BUGS
There is no way to delete csh files on machines that you are not connected to.

The -C option was written in csh, so of course it is ugly and non-portable.