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

  man pages->Tru64 Unix man pages -> unlink (2)              
Title
Content
Arch
Section
 

unlink(2)

Contents


NAME    [Toc]    [Back]

       unlink - Remove a directory entry

SYNOPSIS    [Toc]    [Back]

       #include <unistd.h>

       int unlink(
               const char *path );

STANDARDS    [Toc]    [Back]

       Interfaces  documented  on  this reference page conform to
       industry standards as follows:

       unlink(): XSH4.0, XSH4.2, XSH5.0

       Refer to the standards(5) reference page for more information
 about industry standards and associated tags.

PARAMETERS    [Toc]    [Back]

       Specifies the directory entry to be removed.

DESCRIPTION    [Toc]    [Back]

       When  the  directory  entry  is  a hard link, the unlink()
       function removes it and decrements the link count  of  the
       file referenced by the link. When the directory entry is a
       symbolic link, the unlink() function removes the  symbolic
       link  and  does  not affect any file or directory named by
       the contents of the symbolic link.

       When all links to a file are removed and  no  process  has
       the file open or mapped, all resources associated with the
       file are reclaimed, and the file is no longer  accessible.
       If one or more processes have the file open or mapped when
       the last link is removed, the link is removed  before  the
       unlink()  function  returns,  but  the removal of the file
       contents is postponed until all open or map references  to
       the file are removed.

       A hard link to a directory cannot be unlinked.

       A  process  must have write access to the parent directory
       of the file to be unlinked  with  respect  to  all  access
       policies.

       Upon  successful  completion,  the unlink() function marks
       for update the st_ctime and st_mtime fields of the  directory
 which contained the link. If the file's link count is
       not 0 (zero), the st_ctime  field  of  the  file  is  also
       marked for update.

   System V Compatibility    [Toc]    [Back]
       [Tru64  UNIX]  Any attempt to unlink non-empty directories
       in the System V habitat will cause the  unlink()  call  to
       fail and set errno to [ENOTEMPTY], even if the process has
       superuser privileges. This error behavior is  provided  in
       the  System V habitat to comply with the SVID-2 specification.






RETURN VALUES    [Toc]    [Back]

       Upon  successful  completion,  a  value  of  0  (zero)  is
       returned. If the unlink() function fails, a value of -1 is
       returned, the named file is not changed, and errno is  set
       to indicate the error.

ERRORS    [Toc]    [Back]

       If  the  unlink()  function  fails,  the named file is not
       unlinked and errno may be set to one of the following values:
  One  of  the  following  conditions was encountered:
       Search permission is denied for a component  of  the  path
       prefix,  or  write  permission  is denied on the directory
       containing the link to be removed.  The S_ISVTX option  is
       set  on  the  directory containing the file referred to by
       the path argument and the caller is not  the  file  owner,
       nor is the caller the directory owner, nor does the caller
       have appropriate privileges.  One of the following  conditions
  was  encountered:  The  entry to be unlinked is the
       mount point for a mounted file system.  The file named  by
       path  is a named STREAM.  [Tru64 UNIX]  The path parameter
       is an invalid  address.   Too  many  symbolic  links  were
       encountered  in  translating path.  The length of the path
       parameter exceeds PATH_MAX  or  a  pathname  component  is
       longer  than  NAME_MAX; or, pathname resolution  of a symbolic
 link produced an intermediate  result  whose  length
       exceeds  PATH_MAX.   The  named file does not exist or the
       path parameter points to an empty string.  A component  of
       the  path prefix is not a directory.  One of the following
       conditions was encountered: The named file is a directory.
       The  S_ISVTX option is set on the directory containing the
       file referred to by the path argument and  the  caller  is
       not the file owner, nor is the caller the directory owner,
       nor does the  caller  have  appropriate  privileges.   The
       entry  to  be unlinked is part of a read-only file system.
       The entry to be unlinked is the last directory entry to  a
       pure  procedure (shared text) file that is being executed.

       [Tru64 UNIX]  For NFS file access, if the link()  function
       fails,  errno may also be set to one of the following values:
 Indicates either that the request  was  for  a  write
       access to a file but the specified filename was actually a
       directory, or that the function was  trying  to  rename  a
       directory  as  a  file.   Indicates either that the system
       file table is full, or that there are too many files  currently
  open  in  the  system.  Indicates a stale NFS file
       handle.  A client cannot delete a link because the  server
       has  unmounted  or unexported the remote directory; or the
       directory that contains an file was  either  unmounted  or
       unexported by the server.

SEE ALSO    [Toc]    [Back]

      
      
       Commands: link(1), rm(1), unlink(1)

       Functions: close(2), link(2), open(2), rmdir(2)

       Standards: standards(5)



                                                        unlink(2)
[ Back ]
 Similar pages
Name OS Title
unlink FreeBSD remove directory entry
remove FreeBSD remove directory entry
unlink OpenBSD remove directory entry
unlink NetBSD remove directory entry
unlink IRIX remove directory entry
remove NetBSD remove directory entry
unlink HP-UX remove directory entry; delete file
rmdir IRIX remove a directory
efi_rmdir HP-UX remove an EFI directory
rmdir OpenBSD remove a directory file
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service