Voltar à lista
Linux x86_64Sistema de arquivos#87

unlink

Remove um nome (hard link) do sistema de arquivos; o arquivo em si só é apagado quando o último link e o último descritor aberto desaparecem.

Descrição

É o que permite o idioma clássico de criar um arquivo temporário, chamar `unlink` imediatamente, e continuar usando o descritor já aberto — o espaço em disco só é liberado quando o processo fecha o descritor.

Header: unistd.hman 2

Assinatura

int unlink(const char * pathname);

Parâmetros

ParâmetroTipoDescrição
pathnameconst char *Caminho a remover.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1pathnameconst char *

Valor de retorno

0 em sucesso; -1 em erro, com errno definido.

Códigos de erro (errno)

EACCES(13)
Permissão negada.
EBUSY(16)
Dispositivo ou recurso ocupado.
EISDIR(21)
É um diretório (operação exige um arquivo comum).
ENOENT(2)
Arquivo ou diretório inexistente.
ENOTDIR(20)
Não é um diretório.
EPERM(1)
Operação não permitida (falta de privilégio).
EROFS(30)
Sistema de arquivos somente leitura.

Relacionadas