Provided by: manpages-es_1.55-10_all bug

NOMBRE

       symlink - construye un nombre nuevo para un fichero

SINOPSIS

       #include <unistd.h>

       int symlink(const char *caminoviejo, const char *caminonuevo);

DESCRIPCIÓN

       symlink  crea un enlace simbólico llamado caminonuevo que contiene la cadena de caracteres
       caminoviejo.

       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 caminonuevo 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 caminonuevo no admite la  creación  de  enlaces
              simbólicos.

       EFAULT caminoviejo o caminonuevo apuntan afuera de su espacio de direcciones accesible.

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

       ENAMETOOLONG
              caminoviejo o caminonuevo eran muy largos.

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

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

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

       EROFS  caminonuevo está en un sistema de ficheros de lectura exclusiva.

       EEXIST caminonuevo ya existe.

       ELOOP  Se encontraron demasiados enlaces simbólicos al resolver caminonuevo.

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

       EIO    Se ha producido un error de E/S.

OBSERVACIONES

       No se hace ninguna comprobación sobre caminoviejo.

       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 A

       SVr4,  SVID,  POSIX,  BSD  4.3,  X/OPEN.   SVr4 documenta los códigos de error adicionales
       EDQUOT y ENOSYS.

FALLOS

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

VÉASE TAMBIÉN

       readlink(2), link(2), unlink(2), rename(2), open(2), lstat(2), ln(1)