As diferentes semânticas entre os links hard e soft os tornam adequados para coisas diferentes.
Links físicos:
- indistinguível de outras entradas de diretório, porque a entrada de diretório every é hard link
- "original" pode ser movido ou excluído sem quebrar outros links físicos para o mesmo inode
- possível apenas dentro do mesmo sistema de arquivos
- as permissões devem ser as mesmas que as do "original" (as permissões são armazenadas no inode, não na entrada do diretório)
- só pode ser feito para arquivos, não diretórios
Links simbólicos (links suaves)
- simplesmente registra esse ponto em outro caminho de arquivo. (
ls -l
mostrará para qual caminho um link simbólico aponta) - será interrompido se o original for movido ou excluído. (Em alguns casos, é realmente desejável que um link aponte para qualquer arquivo que ocupe atualmente um determinado local)
- pode apontar para um arquivo em um sistema de arquivos diferente
- pode apontar para um diretório
- em alguns formatos de sistema de arquivos, é possível que o symlink tenha permissões diferentes do arquivo para o qual ele aponta (isso é incomum)