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

FreeBSD Manual Pages


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

     rm, unlink	-- remove directory entries

     rm	[-dfiIPRrvW] file ...
     unlink 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.

     -I		 Request confirmation once if more than	three files are	being
		 removed or if a directory is being recursively	removed.  This
		 is a far less intrusive option	than -i	yet provides almost
		 the same level	of protection against mistakes.

     -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
		 argument.  The	-R option implies the -d option.  If the -i
		 option	is specified, the user is prompted for confirmation
		 before	each directory's contents are processed	(as well as
		 before	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.

     -v		 Be verbose when deleting files, showing them as they are

     -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 ``.'' or ``..''.

     When the utility is called	as unlink, only	one argument, which must not
     be	a directory, may be supplied.  No options may be supplied in this sim-
     ple mode of operation, which performs an unlink(2)	operation on the
     passed argument.

     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
     options at	that point.  This will allow the removal of file names that
     begin 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

     chflags(1), rmdir(1), undelete(2),	unlink(2), fts(3), getopt(3),

     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
     option only masks attempts	to remove non-existent files instead of	mask-
     ing a large variety of errors.  The -v option is non-standard and its use
     in	scripts	is not recommended.

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

     The rm command conforms to	IEEE Std 1003.2	(``POSIX.2'').

     The simplified unlink command conforms to Version 2 of the	Single UNIX
     Specification (``SUSv2'').

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

FreeBSD	5.4		       January 28, 1999			   FreeBSD 5.4


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

home | help