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

NOMBRE

       unlink - borra un nombre y posiblemente el fichero al que hace referencia

SINOPSIS

       #include <unistd.h>

       int unlink(const char *pathname);

DESCRIPCIÓN

       unlink  borra un nombre del sistema de ficheros. Si dicho nombre era el último enlace a un
       fichero, y ningún proceso tiene el fichero abierto, el fichero es borrado y el espacio que
       ocupaba vuelve a estar disponible.

       Si  el  nombre  era  el  último  enlace a un fichero, pero algún proceso sigue teniendo el
       fichero abierto, el fichero seguirá existiendo hasta que el último descriptor  de  fichero
       referente a él sea cerrado.

       Si el nombre hacía referencia a un enlace simbólico, el enlace es eliminado.

       Si  el  nombre  hacía  referencia a un socket, fifo o dispositivo, el nombre es eliminado,
       pero los procesos que tengan el objeto abierto pueden continuar usándolo.

VALOR DEVUELTO

       En caso de éxito, se devuelve cero. En caso de  error,  se devuelve -1 y se  establece  el
       errno apropiado.

ERRORES

       EACCES No  se  otorga  permiso  de  escritura  para el directorio contenido en pathname al
              identificador de usuario efectivo del proceso, o uno de los directorios de pathname
              no permite búsquedas (no tiene permiso de ejecución).

       EPERM o EACCES
              El  directorio  contenido  en  pathname  tiene puesto el sticky-bit (S_ISVTX), y el
              identificador de usuario efectivo del proceso no es el identificador de usuario del
              fichero a borrar ni el del directorio que lo contiene.

       EPERM (sólo para Linux)
              El sistema de ficheros no permite el borrado de ficheros.

       EPERM  El  sistema  no  permite  el  borrado  de  directorios, o el borrado de directorios
              requiere privilegios que el proceso actual no tiene.  (Esta es el código  de  error
              recomendado por POSIX.)

       EISDIR pathname  hace referencia a un directorio.  (Este es el valor no conforme con POSIX
              devuelto por Linux desde la versión 2.1.132.)

       EBUSY (no en Linux)
              El fichero pathname no puede ser borrado porque está siendo usado por el sistema  o
              por otro proceso y la implementación considera ésto un error.

       EFAULT pathname apunta fuera del espacio de direcciones accesible.

       ENAMETOOLONG
              pathname es demasiado largo.

       ENOENT Un elemento en pathname no existe o es un enlace simbólico colgado, o pathname está
              vacío.

       ENOTDIR
              Un elemento usado como directorio en pathname no es en realidad un directorio.

       ENOMEM No hay suficiente memoria disponible en el núcleo.

       EROFS  pathname hace referencia a un fichero de un sistema de ficheros de sólo lectura.

       ELOOP  Se encontraron demasiados enlaces simbólicos al traducir pathname.

       EIO    Ocurrió un error de E/S.

CONFORME A

       SVr4, SVID, POSIX, X/OPEN, 4.3BSD.  SVr4 documenta las condiciones  de  error  adicionales
       EINTR, EMULTIHOP, ETXTBSY, ENOLINK.

FALLOS

       Algunos hechos desafortunados en el protocolo NFS pueden causar la desaparición inesperada
       de ficheros que siguen en uso.

VÉASE TAMBIÉN

       link(2), rename(2), open(2), rmdir(2), mknod(2), mkfifo(3), remove(3), rm(1)