Linux x86_64Sistema de arquivos#88
symlink
Cria um link simbólico (symlink) apontando para um caminho de destino.
Descrição
Diferente de hard links, um symlink é um arquivo próprio que contém o caminho de texto do alvo, pode apontar para qualquer lugar (incluindo através de sistemas de arquivos ou para um alvo inexistente) e pode apontar para diretórios.
Header:
unistd.hman 2Assinatura
int symlink(const char * target, const char * linkpath);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| target | const char * | Caminho de destino (não precisa existir). |
| linkpath | const char * | Caminho do novo link simbólico. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | targetconst char * |
| rsi | argumento 2 | linkpathconst 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.
- ENOENT(2)
- Arquivo ou diretório inexistente.
- ENOSPC(28)
- Sem espaço livre no dispositivo.
- EROFS(30)
- Sistema de arquivos somente leitura.