Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
RM(1)			  BSD General Commands Manual			 RM(1)

     rm	-- remove directory entries

     rm	[-dfiPRrW] file	...

     The rm utility attempts to	remove the non-directory type files specified
     on	the command line.  If the permissions of the file do not permit	writ-
     ing, and the standard input device	is a terminal, the user	is prompted
     (on the standard error output) for	confirmation.

     The options are as	follows:

     -d		 Attempt to remove directories as well as other	types of

     -f		 Attempt to remove the files without prompting for confirma-
		 tion, regardless of the file's	permissions.  If the file does
		 not exist, do not display a diagnostic	message	or modify the
		 exit status to	reflect	an error.  The -f option overrides any
		 previous -i options.

     -i		 Request confirmation before attempting	to remove each file,
		 regardless of the file's permissions, or whether or not the
		 standard input	device is a terminal.  The -i option overrides
		 any previous -f options.

     -P		 Overwrite regular files before	deleting them.	Files are
		 overwritten three times, first	with the byte pattern 0xff,
		 then 0x00, and	then 0xff again, before	they are deleted.

     -R		 Attempt to remove the file hierarchy rooted in	each file ar-
		 gument.  The -R option	implies	the -d option.	If the -i op-
		 tion is specified, the	user is	prompted for confirmation be-
		 fore each directory's contents	are processed (as well as be-
		 fore the attempt is made to remove the	directory).  If	the
		 user does not respond affirmatively, the file hierarchy
		 rooted	in that	directory is skipped.

     -r		 Equivalent to -R.

     -W		 Attempt to undelete the named files.  Currently, this option
		 can only be used to recover files covered by whiteouts.

     The rm utility removes symbolic links, not	the files referenced by	the

     It	is an error to attempt to remove the files ``.'' and ``..''.

     The rm utility exits 0 if all of the named	files or file hierarchies were
     removed, or if the	-f option was specified	and all	of the existing	files
     or	file hierarchies were removed.	If an error occurs, rm exits with a
     value >0.

     The rm command uses getopt(3) to parse its	arguments, which allows	it to
     accept the	`--' option which will cause it	to stop	processing flag	op-
     tions at that point.  This	will allow the removal of file names that be-
     gin with a	dash (`-').  For example:
	   rm -- -filename
     The same behavior can be obtained by using	an absolute or relative	path
     reference.	 For example:
	   rm /home/user/-filename
	   rm ./-filename

     rmdir(1), undelete(2), unlink(2), fts(3), getopt(3), symlink(7)

     The -P option assumes that	the underlying file system is a	fixed-block
     file system.  UFS is a fixed-block	file system, LFS is not.  In addition,
     only regular files	are overwritten, other types of	files are not.

     The rm utility differs from historical implementations in that the	-f op-
     tion only masks attempts to remove	non-existent files instead of masking
     a large variety of	errors.

     Also, historical BSD implementations prompted on the standard output, not
     the standard error	output.

     The rm command is almost IEEE Std 1003.2 ("POSIX.2") compatible, except
     that POSIX	requires rm to act like	rmdir(1) when the file specified is a
     directory.	 This implementation requires the -d option if such behavior
     is	desired.  This follows the historical behavior of rm with respect to

     A rm command appeared in Version 1	AT&T UNIX.

BSD			       January 28, 1999				   BSD


Want to link to this manual page? Use this URL:

home | help