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

NOMBRE

       link - crea un nuevo nombre para un fichero

SINOPSIS

       #include <unistd.h>

       int link(const char *oldpath, const char *newpath);

DESCRIPCIÓN

       link crea un nuevo enlace (también conocido como enlace físico) a un fichero existente.

       Si newpath existe, no será sobreescrito.

       Este nuevo nombre podrá ser usado exactamente igual que el viejo para cualquier operación;
       ambos nombres se refieren al mismo fichero (y por lo tanto, tienen los mismos  permisos  y
       propietario) y es imposible decir qué nombre era el `original'.

VALOR DEVUELTO

       Si  hubo  éxito,  se  devuelve  cero.  Si hubo error, se devuelve -1, y errno se actualiza
       apropiadamente.

ERRORES

       EXDEV  oldpath y newpath no están en el mismo sistema de ficheros.

       EPERM  El sistema de ficheros que contiene oldpath y newpath no  soporta  la  creación  de
              enlaces físicos.

       EFAULT oldpath o newpath apunta fuera de tu espacio de direcciones accesibles.

       EACCES El acceso de escritura al directorio que contiene newpath no está permitido para el
              uid efectivo del proceso, o uno de los directorios  en  oldpath  o  newpath  no  da
              permiso de búsqueda (ejecución).

       ENAMETOOLONG
              oldpath o newpath es demasiado largo.

       ENOENT Un  componente  del  directorio  en  oldpath  o  newpath  no  existe o es un enlace
              simbólico colgado.

       ENOTDIR
              Un componente usado como directorio en oldpath  o  newpath  no  es,  de  hecho,  un
              directorio.

       ENOMEM Memoria de núcleo insuficiente.

       EROFS  El fichero está en un sistema de ficheros de sólo lectura.

       EEXIST newpath ya existe.

       EMLINK El fichero a que se refiere oldpath ya tiene el número máximo de enlaces a él.

       ELOOP  Se han encontrado demasiados enlaces simbólicos al resolver oldpath o newpath.

       ENOSPC El  dispositivo  que  contiene el fichero no tiene espacio para la nueva entrada de
              directorio.

       EPERM  oldpath es un directorio.

       EIO    Se ha producido un error de E/S.

OBSERVACIONES

       Los enlaces físicos, tal y como los crea link, no  pueden  cruzar  sistemas  de  ficheros.
       Utiliza symlink si esto es necesario.

CONFORME A

       SVr4,  SVID,  POSIX, BSD 4.3 y X/OPEN. SVr4 documenta las condiciones de error adicionales
       ENOLINK y EMULTIHOP; POSIX.1 no documenta ELOOP.  X/OPEN no documenta  EFAULT,  ENOMEM  ni
       EIO.

FALLOS

       En  sistemas  de  ficheros  NFS, el valor devuelto podría ser incorrecto en caso de que el
       servidor NFS lance la creación del enlace y  muera  antes  de  poder  terminarlo.  Utiliza
       stat(2) para averiguar si se creó el enlace.

VÉASE TAMBIÉN

       symlink(2), unlink(2), rename(2), open(2), stat(2), ln(1)