*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Linux man pages -> remove (3)              



NAME    [Toc]    [Back]

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

SYNOPSIS    [Toc]    [Back]

       #include <stdio.h>

       int remove(const char *pathname);

DESCRIPTION    [Toc]    [Back]

       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

RETURN VALUE    [Toc]    [Back]

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

ERRORS    [Toc]    [Back]

       EFAULT pathname points outside your accessible address space.

       EACCES Write access to the directory containing pathname is not allowed
	      for the process's effective uid, or one of  the  directories  in
	      pathname did not allow search (execute) permission.

       EPERM  The  directory  containing pathname has the sticky-bit (S_ISVTX)
	      set and the process's effective uid is neither the  uid  of  the
	      file to be deleted nor that of the directory containing it.

       ENAMETOOLONG    [Toc]    [Back]
	      pathname was too long.

       ENOENT A  directory  component  in pathname does not exist or is a dangling
 symbolic link.

       ENOTDIR    [Toc]    [Back]
	      A component used as a directory in pathname is not, in  fact,  a

       ENOMEM Insufficient kernel memory was available.

       EROFS  pathname refers to a file on a read-only filesystem.

CONFORMING TO    [Toc]    [Back]


BUGS    [Toc]    [Back]

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

NOTE    [Toc]    [Back]

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

SEE ALSO    [Toc]    [Back]

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

Linux				  1994-07-13			     REMOVE(3)
[ Back ]
 Similar pages
Name OS Title
isastream Tru64 Determine if a file descriptor refers to a STREAMS file
open Linux open and possibly create a file or device
semget Tru64 Return (and possibly create) a semaphore ID
msgget Tru64 Return (and possibly create) the ID for a message queue
acl_delete_fd_np FreeBSD delete an ACL from a file
acl_delete_file_np FreeBSD delete an ACL from a file
acl_delete_def_file FreeBSD delete an ACL from a file
acl_delete FreeBSD delete an ACL from a file
gzgrep IRIX search possibly compressed files for a regular expression
zgrep Linux search possibly compressed files for a regular expression
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service