Voltar à lista
Linux x86_64Sistema de arquivos#86

link

Cria um novo hard link, fazendo dois nomes de caminho apontarem para o mesmo inode.

Descrição

Hard links não podem cruzar sistemas de arquivos (diferente de symlinks) e, tradicionalmente, não podem apontar para diretórios.

Header: unistd.hman 2

Assinatura

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

Parâmetros

ParâmetroTipoDescrição
oldpathconst char *Caminho existente.
newpathconst char *Novo caminho a criar, apontando para o mesmo inode.

Registradores (x86_64)

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

Valor de retorno

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

Códigos de erro (errno)

EACCES(13)
Permissão negada.
EEXIST(17)
Arquivo já existe.
EMLINK(31)
Excesso de links (hard links).
ENOENT(2)
Arquivo ou diretório inexistente.
EPERM(1)
Operação não permitida (falta de privilégio).
EXDEV(18)
Link cruzando dispositivos/sistemas de arquivos diferentes.

Relacionadas