Linux não possui atalhos, mas sim Symbolic Links – ou Symlinks, como costumam ser chamados. Mas o que exatamente são links simbólicos? E como você cria um? Vamos descobrir.
Estaremos testando os comandos em uma instalação do Ubuntu, embora a sintaxe funcione da mesma forma em todas as distribuições do Linux. Curiosamente, symlinks também podem ser criados em um Mac.
Índice
O que são links simbólicos?
Se você deseja acessar um arquivo de vários locais, simplesmente copiá-lo não é uma boa solução. Você está desperdiçando espaço em disco, além de dificultar o rastreamento de alterações devido à existência de vários arquivos.
Em uma GUI baseado em um sistema operacional, você superaria isso criando atalhos. Para um sistema operacional baseado em CUI (como qualquer distribuição Linux), a resposta é um link simbólico. Mesmo o Microsoft Windows pode alavancar links simbólicos em algumas situações.
Um link simbólico ou um link simbólico é apenas um arquivo apontando para outro arquivo ou diretório – mesmo em um sistema de arquivos ou partição completamente diferente. Abrir o link simbólico dá acesso ao mesmo arquivo original, com quaisquer alterações refletidas no arquivo principal também.
Isso também vale para permissões-usar chmod para alterar as permissões de um arquivo de link simbólico modificará as permissões do arquivo de destino.
Tipos de links simbólicos
Links simbólicos também são conhecidos como soft links. Como o nome pode sugerir, não é o único tipo de sistema de vinculação de arquivos no Linux. Os hard links podem ser usados como uma alternativa aos links simbólicos em determinados cenários, embora venham com várias restrições.
Para começar, difícil links são simplesmente nomes de arquivos apontando para o mesmo inode. Embora isso os torne muito eficientes em termos de armazenamento e velocidade de acesso, também os limita a arquivos no mesmo sistema de arquivos ou partição. E devido a uma peculiaridade de como o acesso a pastas funciona no Linux, você também não pode usar links físicos para diretórios.
Links virtuais ou links simbólicos, por outro lado, são mais como atalhos na área de trabalho. Cada soft link é essencialmente um pequeno arquivo que aponta para os dados originais, sem estar diretamente vinculado a eles. Isso significa que os soft links podem apontar facilmente para arquivos e diretórios em outras partições e sistemas de arquivos, sem quaisquer restrições.
Hard Links VS Soft Links – Qual Tipo Usar?
Os soft links são a forma mais versátil de links, pois podem ser usados em arquivos e diretórios em vários sistemas de arquivos sem nenhuma restrição. Mas por que então temos hard links? Eles oferecem alguma vantagem sobre os links simbólicos?
Bem, no papel, hard links são mais eficientes. Como eles usam os mesmos inodes, eles não ocupam espaço adicional em disco e podem ser acessados muito mais rapidamente do que os soft links. É por isso que muitos administradores de sistema recomendam o uso de hard links sempre que possível.
Dito isto, no entanto, os contras de usar links simbólicos são mínimos. Os computadores modernos, especialmente, não se importam com alguns kilobytes de armazenamento extra e, a menos que você esteja preenchendo o sistema com milhões de soft links, o tamanho do arquivo adicional raramente importa.
Criando links simbólicos
Links simbólicos – ou melhor, links de arquivos em geral – são criados usando o comando ln. Por padrão, o comando cria links físicos. Para criar um link simbólico, você precisa anexar o sinalizador-s ao comando ln.
A sintaxe é bastante simples. O comando ln recebe dois parâmetros – o caminho do arquivo (ou pasta) a ser vinculado e o caminho do arquivo de link a ser criado.
Assim:
ln-s user_names.txt nomes
Isto criará um link simbólico chamado names conectado ao arquivo de texto user_names. Para ver se o link simbólico foi realmente criado, basta usar o comando ls.
Como você pode ver, o Ubuntu mostra cores diferentes para diferentes categorias de arquivos, com diretórios indicados por azul escuro e links simbólicos com uma cor azul mais clara (ciano, na verdade).
Podemos usar a mesma sintaxe para criar um link simbólico para a pasta também:
ln-s exemplos example_folder
Para criar links simbólicos para arquivos e pastas em outros diretórios, basta usar o caminho completo. Por exemplo:
ln-s exemplos/exemplo3.txt exemplo_distante
Limitações de links simbólicos
Links simbólicos são uma ótima maneira de conectar arquivos em seu sistema sem precisar fazer cópias, mas eles têm suas próprias limitações. Sim, embora os links flexíveis sejam menos restritivos do que os links físicos, ainda há algumas coisas a serem lembradas.
Primeiro, o comando ln na verdade não verifica os links criados. Isso significa que é possível inserir um nome de arquivo que na verdade não existe e você não receberá nenhum erro. A única maneira de confirmar o link é tentar usá-lo e ver se ele leva ao arquivo correto.
Em segundo lugar, ao acessar ou alterar as permissões do link simbólico altera as propriedades do arquivo original, o mesmo não vale para a exclusão do arquivo. Você pode remover com segurança o link simbólico sem afetar o arquivo ou diretório vinculado.
Criando links simbólicos no Linux
A maior dificuldade em usar o terminal para criar links simbólicos é a dificuldade de acessar arquivos importantes espalhados por vários diretórios. A solução inteligente é criar links simbólicos para esses arquivos de seu próprio diretório pessoal, como atalhos na área de trabalho.
E ao contrário dos hard links, os links simbólicos podem ser criados facilmente sem quaisquer restrições, mesmo para conectar-se a diretórios ou arquivos em diferentes partições e sistemas de arquivos. Lembre-se de que isso também significa que um link simbólico pode apontar para um arquivo inexistente – você terá que tentar acessar o link para verificar se o arquivo existe.