Provided by: manpages-dev_2.17-1_all bug

NAME

       remove - delete a name and possibly the file it refers to

SYNOPSIS

       #include <stdio.h>

       int remove(const char *pathname);

DESCRIPTION

       remove()  deletes  a  name  from the filesystem.  It calls unlink() for
       files, and rmdir() for directories.

       If the removed name was the last link to a file and no  processes  have
       the  file  open  the file is deleted and the space it was using is made
       available for reuse.

       If the name was the last link to a file but any  processes  still  have
       the  file  open  the  file will remain in existence until the last file
       descriptor referring to it is closed.

       If the name referred to a symbolic link the link is removed.

       If the name referred to a socket, fifo or device the  name  for  it  is
       removed  but  processes  which have the object open may continue to use
       it.

RETURN VALUE

       On success, zero is returned.  On error, -1 is returned, and  errno  is
       set appropriately.

ERRORS

       The errors that occur are those for unlink(2) and rmdir(2).

CONFORMING TO

       ANSI C, SVID, AT&T, POSIX, X/OPEN, 4.3BSD

BUGS

       Infelicities  in  the  protocol underlying NFS can cause the unexpected
       disappearance of files which are still being used.

NOTE

       Under libc4 and libc5, remove() was an alias for  unlink()  (and  hence
       would not remove directories).

SEE ALSO

       rm(1),  link(2),  mknod(2),  open(2),  rename(2),  rmdir(2), unlink(2),
       mkfifo(3), unlink(8)