rm, rmdir - remove directory entries


     /usr/bin/rm [-f] [-i] file...

     /usr/bin/rm -rR [-f] [-i] dirname... [file...]

     /usr/xpg4/bin/rm [-fiRr] file...

     /usr/bin/rmdir [-ps] dirname...


  /usr/bin/rm /usr/xpg4/bin/rm
     The rm utility removes the directory entry specified by each
     file  argument.  If  a  file has no write permission and the
     standard input is a terminal, the full  set  of  permissions
     (in  octal)  for the file are printed followed by a question
     mark. This is a  prompt  for  confirmation.  If  the  answer
     begins  with y (for yes), the file is deleted, otherwise the
     file remains.

     If file is a symbolic link, the link will  be  removed,  but
     the  file  or  directory  to  which  it  refers  will not be
     deleted. Users do not need write permission to remove a sym-
     bolic  link,  provided  they  have  write permissions in the

     If multiple files are specified and removal of a file  fails
     for  any reason, rm will write a diagnostic message to stan-
     dard error, do nothing more to the current file, and  go  on
     to any remaining files.

     If the standard input is not a terminal,  the  utility  will
     operate as if the -f option is in effect.

     The rmdir utility will remove the directory entry  specified
     by each dirname operand, which must refer to an empty direc-

     Directories will be processed in the order specified.  If  a
     directory and a subdirectory of that directory are specified
     in a single invocation of rmdir, the  subdirectory  must  be
     specified  before  the  parent  directory so that the parent
     directory will be empty when rmdir tries to remove it.


     The following options  are  supported  for  /usr/bin/rm  and

     -r    Recursively removes directories and subdirectories  in
           the  argument  list.  The directory will be emptied of
           files and removed. The user is normally  prompted  for
           removal  of any write-protected files which the direc-
           tory contains. The write-protected files  are  removed
           without  prompting, however, if the -f option is used,
           or if the standard input is not a terminal and the  -i
           option is not used.

           Symbolic links that are encountered with  this  option
           will not be traversed.

           If the removal of a non-empty, write-protected  direc-
           tory  is attempted, the utility will always fail (even
           if the -f option is used), resulting in an error  mes-

     -R    Same as -r option.

     The following options are supported for /usr/bin/rm only:

     -f    Removes all files (whether write-protected or not)  in
           a  directory  without  prompting the user. In a write-
           protected directory, however, files are never  removed
           (whatever  their permissions are), but no messages are
           displayed. If the removal of a write-protected  direc-
           tory  is  attempted,  this option will not suppress an
           error message.

     -i    Interactive. With this option, rm prompts for  confir-
           mation  before removing any files. It overrides the -f
           option and remains in  effect  even  if  the  standard
           input is not a terminal.

     The following options  are  supported  for  /usr/xpg4/bin/rm

     -f    Does not prompt for confirmation. Does not write diag-
           nostic  messages or modify the exit status in the case
           of non-existent operands. Any previous occurrences  of
           the -i option will be ignored.

     -i    Prompts for confirmation. Any occurrences  of  the  -f
           option will be ignored.

     The following options are supported for /usr/bin/rmdir only:

     -p    Allows users to remove the directory dirname  and  its
           parent  directories  which  become empty. A message is
           printed to standard error if all or part of  the  path
           could not be removed.

     -s    Suppresses the message printed on the  standard  error
           when -p is in effect.


     The following operands are supported:

     file  A path name of a directory entry to be removed.

           A path name of an empty directory to be removed.


     See largefile(5) for the description of the behavior  of  rm
     and rmdir when encountering files greater than or equal to 2
     Gbyte ( 2**31 bytes).

     When a UFS file system is mounted with logging enabled, file
     system  transactions  that  free blocks from files might not
     actually add those freed blocks to the  file  system's  free
     list  until  some  unspecified  time  in  the  future.  This
     behavior improves file system performance but does not  con-
     form  to the POSIX, Single UNIX Specification, SPARC Confor-
     mance Definition, System  V  Application  Binary  Interface,
     System  V Interface Definition, and X/Open Portability Guide
     Standards, which  require  that  freed  space  be  available
     immediately.  To enable standards conformance regarding file
     deletions or to address the problem of  not  being  able  to
     grow  files  on a relatively full UFS file system even after
     files  have  been  deleted,   disable   UFS   logging   (see


  /usr/bin/rm /usr/xpg4/bin/rm
     Example 1: Removing directories

     The following command:

     example% rm a.out core

     removes the directory entries a.out and core.

     Example 2: Removing a directory without prompting

     The following command:

     example% rm -rf junk

     removes the directory junk and  all  its  contents,  without

     Example 3: Removing empty directories

     If a directory a in the current directory is  empty,  except
     that it contains a directory b, and a/b is empty except that
     it contains a directory c, the following command will remove
     all three directories:

     example% rmdir -p a/b/c


     See environ(5) for descriptions of the following environment
     variables  that  affect the execution of rm and rmdir: LANG,


     The following exit values are returned:

     0     If the -f option was  not  specified,  all  the  named
           directory  entries  were  removed;  otherwise, all the
           existing named directory entries were removed.

     >0    An error occurred.


     See attributes(5) for descriptions of the  following  attri-

  /usr/bin/rm /usr/bin/rmdir
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    | Availability                | SUNWcsu                     |
    | CSI                         | enabled                     |

    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    | Availability                | SUNWxcu4                    |
    | CSI                         | enabled                     |
    | Interface Stability         | Standard                    |


     mount_ufs(1M),    rmdir(2),    unlink(2),     attributes(5),
     environ(5), largefile(5), standards(5)


     All messages are generally self-explanatory.

     It is forbidden to remove the files "." and ".." in order to
     avoid the consequences of inadvertently doing something like
     the following:

     example% rm -r .*


     A - permits the user to mark explicitly the end of any  com-
     mand  line  options, allowing rm to recognize file arguments
     that begin with a -. As an aid to  BSD  migration,  rm  will
     accept  -- as a synonym for -. This migration aid may disap-
     pear in a future release. If a -- and a - both appear on the
     same command line, the second will be interpreted as a file.

Man(1) output converted with man2html