SYMLINK(2)

NOMBRE
symlink - construye un nombre nuevo para un fichero

SINOPSIS
#include <unistd.h>

int symlink(const char *alcamino, const char *delcamino);

DESCRIPCIÓN
symlink crea un enlace simbólico llamado delcamino que contiene la cadena de caracteres alcamino. A fin de encontrar un fichero o directorio, los enlaces simbólicos se interpretan en tiempo de ejecución como si los contenidos del enlace hubiesen sido sustituidos en el camino que se esté siguiendo. Los enlaces simbólicos pueden contener como componentes del camino .. y, si se emplean al principio del enlace, se refieren a los directorios padre de aquél en el que reside el enlace. Un enlace simbólico (también conocido como enlace blando) puede apuntar a un fichero existente o a uno que no existe; en este último caso se conoce como un enlace colgante. Los permisos de un enlace simbólico son irrelevantes; el propietario no se tiene en cuenta cuando se sigue el enlace, pero sí se comprueba cuando se quiere borrar o renombrar el enlace y éste está en un directorio con el bit pegajoso (STIcky) activado. Si alcamino existe, no será sobreescrito.

VALOR DEVUELTO
En caso de éxito, se devuelve 0. En caso de error, se devuelve -1 y se pone en errno un valor apropiado.

ERRORES

EPERM
    El sistema de ficheros que contiene delcamino no admite la creación de enlaces simbólicos.

EFAULT
    alcamino o delcamino apuntan afuera de su espacio de direcciones accesible.

EACCES
    No se permite acceso de escritura en el directorio que contiene alcamino para el UID efectivo del proceso, o uno de los directorios de alcamino no permite búsqueda (permiso de ejecución, x).

ENAMETOOLONG
    alcamino o delcamino eran muy largos.

ENOENT
    Un componente directorio en alcamino no existe o es un enlace simbólico colgante, o delcamino es la cadena vacía.

ENOTDIR
    Un componente usado como directorio en alcamino no es, de hecho, un directorio.

ENOMEM
    No había bastante memoria del núcleo.

EROFS
    El fichero está en un sistema de ficheros de lectura exclusiva.

EEXIST
    alcamino ya existe.

ELOOP
    alcamino contiene una referencia a un enlace simbólico circular, esto es, un enlace simbólico cuya expansión contiene una referencia a sí mismo.

ENOSPC
    El dispositivo que contiene al fichero no tiene sitio para la nueva entrada de directorio.

OBSERVACIONES
No se hace ninguna comprobación sobre delcamino. Borrar el nombre referenciado por un enlace simbólico borrará realmente el fichero (a menos que también tenga otros enlaces duros). Si no se desea este comportamiento, emplee link.

CONFORME CON
SVr4, SVID, POSIX, BSD 4.3. SVr4 documenta los códigos de error adicionales EDQUOT, EIO, ENAMETOOLONG, ENOSYS.

FALLOS
Vea open(2) con referencia a varios ficheros con el mismo nombre, y NFS.

CONSULTE TAMBIÉN
link(2), unlink(2), rename(2), open(2), lstat(2), ln(1), link(8).