Provided by: manpages-pt-dev_20040726-2_all bug

NOME

       unlink - apaga um nome e talvez o arquivo ao qual se refere

SINOPSE

       #include <unistd.h>

       int unlink(const char *pathname);

DESCRIÇÃO

       unlink  apaga  um  nome a partir do sistema de arquivos. Se aquele nome
       tem a última ligação simbólica  para  uma  arquivo  e  não  processa  o
       arquivo aberto, o arquivo é deletado e o espaço dele é feito disponível
       para ser reutilizado.

       Se o nome tem uma última ligação para um arquivo mas qualquer  processo
       tem  o arquivo aberto o arquivo ficará existente até o último descritor
       de arquivo referenciado para ele ser fechado.

       Se o  nome  referenciado  para  uma  ligação  simbólica  é  um  ligação
       removida.

       Se o nome referenciado para um socket, fifo ou dispositivo foi removido
       mas processos que têm o objeto aberto podem continuar usá-lo.

VALORES RETORNADOS

       Em caso de sucesso, zero é retornado. Caso contrário, -1 é retornado, e
       errno é selecionado adequadamente.

ERROS

       EACCES Acesso  de  escrita  para  o  diretório  contendo pathname não é
              permitido para uid efetivas de processos, ou um  dos  diretórios
              em pathname não tem permissão de procura (execução).

       EPERM ou EACCES
              O  diretório  contendo pathname tem um bit contrário selecionado
              (S_ISVTX) e a uid efetiva do processo é nenhuma uid  do  arquivo
              para ser apagado não naquele diretório que o contém.

       EPERM  O arquivo pathname é um diretório.

       EFAULT pathname  aponta para fora do espaço de endereços acessível para
              você.

       ENAMETOOLONG
              pathname é muito longo.

       ENOENT Um diretório componente no pathname não existe ou é uma  ligação
              simbólica rompida.

       ENOTDIR
              Um componente usado com um diretório em pathname não é, de fato,
              um diretório.

       EISDIR pathname refere-se a um diretório.

       ENOMEM Memória do kernel disponível é insuficiente.

       EROFS  pathname refere-se para um arquivo em  um  sistema  de  arquivos
              somente de leitura.

       ELOOP  Muitas  ligações  simbólicas  são  encontradas  na  tradução  do
              pathname.

       EIO    Um erro de E/S ocorreu.

DE ACORDO COM

       SVr4, SVID, POSIX, X/OPEN, 4.3BSD. SVr4 documenta as condições de erros
       adicionais EBUSY, EINTR, EMULTIHOP, ETXTBUSY, ENOLINK.

PROBLEMAS

       Infelicidades  no  protocolo  base  do  NFS  pode  causar  o inesperado
       desaparecimento de arquivos que ainda estão sendo usados.

VEJA TAMBÉM

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

TRADUZIDO POR LDP-BR em 21/08/2000

       André    L.    Fassone    Canova   <lonelywolf@blv.com.br>   (tradução)
       xxxxxxxxxxxxxxxxxxxxxxxxx <xxx@xxxxxx.xxx.xx> (revisão)