LINK(2) | Manual del Programador de Linux | LINK(2) |
NOMBRE¶
link - crea un nuevo nombre para un ficheroSINOPSIS¶
#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)10 diciembre 1997 | Linux 2.0.30 |