symlink

SYMLINK(2)               Manual del Programador de Linux              SYMLINK(2)



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)



Linux 2.0.30                     21 agosto 1997                       SYMLINK(2)