symlink — make symbolic link to a file
int symlink(const char *path1, const char *path2);
function creates a symbolic link. Its
name is the pathname pointed to by
which must be a pathname that does not name an existing file or
symbolic link. The contents of the symbolic link
are the string pointed to by
Upon successful completion,
returns 0. Otherwise, it returns -1 and sets
to indicate the error.
is set to one of the following values:
Write permission is denied in the
directory where the symbolic link is
being created, or search permission
is denied for a component of the
path prefix of
argument names an existing file or symbolic link.
points outside the process's allocated address space.
The reliable detection of this error is implementation-dependent.
An I/O error occurred while reading from
making the directory entry for
allocating the inode for
or writing out the link contents of
Too many symbolic links were encountered in resolving
The length of the
or pathname resolution of a symbolic link produced an intermediate
result that exceeds
or a pathname component is longer than
A component of
does not name an existing file or
is an empty string.
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 will contain the
link, or the file system is out of file-allocation resources.
A component of the path prefix of
is not a directory.
The new symbolic link would reside on a read-only file system.
Like a hard link, a symbolic link allows a file to
have multiple logical names. The presence 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
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.
was developed by the University of California, Berkeley.
symlink(): AES, SVID3
First released in Issue 4, Version 2.