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

FreeBSD Manual Pages


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

     rm, unlink	-- remove directory entries

     rm	[-f | -i] [-dIPRrvWx] 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 files.

     -f	     Attempt to	remove the files without prompting for confirmation,
	     regardless	of the file's permissions.  If the file	does not ex-
	     ist, do not display a diagnostic message or modify	the exit sta-
	     tus to reflect an error.  The -f option overrides any previous -i

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

     -I	     Request confirmation once if more than three files	are being re-
	     moved 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 over-
	     written three times, first	with the byte pattern 0xff, then 0x00,
	     and then 0xff again, before they are deleted.  Files with multi-
	     ple links will not	be overwritten nor deleted and a warning will
	     be	issued.	 If the	-f option is specified,	files with multiple
	     links will	also be	overwritten and	deleted.  No warning will be

	     Specifying	this flag for a	read only file will cause rm to	gener-
	     ate an error message and exit.  The file will not be removed or

	     N.B.: The -P flag is not considered a security feature (see

     -R	     Attempt to	remove the file	hierarchy rooted in each file argu-
	     ment.  The	-R option implies the -d option.  If the -i option is
	     specified,	the user is prompted for confirmation before each di-
	     rectory'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

     -r	     Equivalent	to -R.

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

     -W	     Attempt to	undelete the named files.  Currently, this option can
	     only be used to recover files covered by whiteouts	in a union
	     file system (see undelete(2)).

     -x	     When removing a hierarchy,	do not cross mount points.

     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	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

     When -P is	specified with -f the file will	be overwritten and removed
     even if it	has hard links.

     Recursively remove	all files contained within the foobar directory	hier-

	   $ rm	-rf foobar

     Either of these commands will remove the file -f:

	   $ rm	-- -f
	   $ rm	./-f

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

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

     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.

     The -P option assumes that	the underlying storage overwrites file blocks
     when data is written to an	existing offset.  Several factors including
     the file system and its backing store could defeat	this assumption.  This
     includes, but is not limited to file systems that use a Copy-On-Write
     strategy (e.g. ZFS	or UFS when snapshots are being	used), Flash media
     that are using a wear leveling algorithm, or when the backing datastore
     does journaling, etc.  In addition, only regular files are	overwritten,
     other types of files are not.

BSD				April 25, 2013				   BSD


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

home | help