Unix/Linux Go Back    

Linux 2.6 - man page for symlink (linux section 3posix)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

SYMLINK(P)			    POSIX Programmer's Manual			       SYMLINK(P)

       symlink - make a symbolic link to a file

       #include <unistd.h>

       int symlink(const char *path1, const char *path2);

       The  symlink() function shall create a symbolic link called path2 that contains the string
       pointed to by path1 ( path2 is the name of the symbolic link created, path1 is the  string
       contained in the symbolic link).

       The  string  pointed to by path1 shall be treated only as a character string and shall not
       be validated as a pathname.

       If the symlink() function fails for any reason other than [EIO], any file named	by  path2
       shall be unaffected.

       Upon  successful  completion,  symlink() shall return 0; otherwise, it shall return -1 and
       set errno to indicate the error.

       The symlink() function shall fail if:

       EACCES Write permission is denied in the directory where the symbolic link is  being  cre-
	      ated, or search permission is denied for a component of the path prefix of path2.

       EEXIST The path2 argument names an existing file or symbolic link.

       EIO    An I/O error occurs while reading from or writing to the file system.

       ELOOP  A  loop  exists  in symbolic links encountered during resolution of the path2 argu-

	      The length of the path2 argument exceeds {PATH_MAX}  or  a  pathname  component  is
	      longer  than  {NAME_MAX}	or  the length of the path1 argument is longer than {SYM-

       ENOENT A component of path2 does not name an existing file or path2 is an empty string.

       ENOSPC The directory in which the entry for the new symbolic link is being  placed  cannot
	      be  extended  because no space is left on the file system containing the directory,
	      or the new symbolic link cannot be created because no space is  left  on	the  file
	      system  which  shall contain the link, or the file system is out of file-allocation

	      A component of the path prefix of path2 is not a directory.

       EROFS  The new symbolic link would reside on a read-only file system.

       The symlink() function may fail if:

       ELOOP  More than {SYMLOOP_MAX} symbolic links were encountered during  resolution  of  the
	      path2 argument.

	      As  a  result  of encountering a symbolic link in resolution of the path2 argument,
	      the length of the substituted pathname string exceeded {PATH_MAX} bytes  (including
	      the  terminating	null  byte),  or  the  length  of  the string pointed to by path1
	      exceeded {SYMLINK_MAX}.

       The following sections are informative.


       Like a hard link, a symbolic link allows a file to have multiple logical names. The  pres-
       ence  of  a hard link guarantees the existence of a file, even after the original name has
       been removed.  A symbolic link provides no such assurance; in fact, the file named by  the
       path1  argument	need  not  exist when the link is created. A symbolic link can cross file
       system boundaries.

       Normal permission checks are made on each component of the symbolic link  pathname  during
       its resolution.

       Since  IEEE Std 1003.1-2001  does  not require any association of file times with symbolic
       links, there is no requirement that file times be updated by symlink().


       lchown() , link() , lstat() , open() , readlink() , unlink() , the Base Definitions volume
       of IEEE Std 1003.1-2001, <unistd.h>

       Portions  of  this  text  are  reprinted  and  reproduced in electronic form from IEEE Std
       1003.1, 2003 Edition, Standard for Information Technology  --  Portable	Operating  System
       Interface  (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003 by
       the Institute of Electrical and Electronics Engineers, Inc and  The  Open  Group.  In  the
       event  of  any  discrepancy  between this version and the original IEEE and The Open Group
       Standard, the original IEEE and The Open Group Standard is the referee document. The orig-
       inal Standard can be obtained online at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group			       2003				       SYMLINK(P)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 04:35 PM.