O que é um erro “falha ao criar um link simbólico: o arquivo existe”?

O que é um erro “falha ao criar um link simbólico: o arquivo existe”?

Estou tentando criar um link simbólico em meu diretório inicial para diretórios e arquivos em minha partição de dados. Eu tentei:

~/Documents$ ln -sv ~/Documents/saga /media/mariajulia/485f3e29-355c-4be3-b80a-1f5abd5604b6/mariajulia/Downloads/saga..doc

para criar um link simbólico nomeado sagano meu Documentsdiretório na minha homepasta. A saída do terminal é:

ln: failed to create symbolic link ‘/media/mariajulia/485f3e29-355c-4be3-b80a-1f5abd5604b6/mariajulia/Downloads/saga..doc’: File exists

Eu estava verificando o conteúdo de ~/Documentscom ls -a , não há nada além de .and ... Em geral, minha homepasta está vazia, é apenas uma nova instalação do sistema.

Responder1

Este é um erro clássico... é o contrário:

ln -s Existing-file New-name 

então no seu caso

ln -sv /media/mariajulia/485f3e29-355c-4be3-b80a-1f5abd5604b6/mariajulia/Downloads/saga..doc ~/Documents/saga 

Deveria trabalhar. Observe, porém:

  1. se ~/Documents/sagaexistir e não for um diretório, você também terá o erro;

  2. se ~/Documents/sagaexistir e for um diretório, o link simbólico será ~/Documents/saga/saga..doc(tem certeza do ponto duplo?)

  3. se ~/Documents/saganão existir, seu link simbólico será ~/Documents/saga(como está, sem extensão).

Responder2

Tenho a mesma mensagem de erro
ao redirecionar

ln -s /usr/bin/nodejs /usr/bin/node

de node.js v0.10.25
para node.js v4.2.3,
então eu olho man ln e uso

[OPTION] 
-f, --force
          remove existing destination files

Este é um trabalho como eu esperava.

Responder3

Como @Rmano respondeu em seuresponderos argumentos estavam na ordem errada. Também cometi o mesmo erro com bastante frequência. Assim encontrei um

Maneira infalível de criar links simbólicos

Primeiro vá para o diretório onde deseja criar o link

cd ~/Documents/saga

Em seguida, crie o link com umargumento único.

ln -s /very/long/path/to/target/Downloads/saga..doc

Isso criará um link para o diretório atual com o mesmo nome do destino.

Responder4

Pode não estar relacionado.
Para mim o link estava morto. Apontando para uma pasta inexistente. Ao tentar substituí-lo, ele falharia com esta mensagem. ^ Então, um simples rm linkNamefoi o suficiente.

informação relacionada