Arquivos linkados permite usuários a se referir ao mesmo arquivo usando nomes diferentes. Existem dois tipos de arquivos linkados: Hard links e soft links.
Para entender links em Linux, é preciso um entendimento básico de como arquivos são organizados em um sistema Linux.
Todo arquivo Linux tem um “inode” especifico, que contém:
- Informação sobre em qual bloco os dados estão salvos
- Data de criação, acesso e modificação
- Permissões
- Donos dos arquivos (File Owner)
O “inode” não contém o nome do arquivo. Esse fica no diretório, e cada nome de arquivo sabe qual inode acessar.
Notas sobre Hard Links:
Precisam existir no mesmo dispositivo
Não pode criar “hard links” para diretórios
Quando o ultimo hard link de um arquivo é removido, os blocos associados são removidos também.
Notas sobre soft Links (Symbolic Links)
soft Links apontam para o nome do arquivo, e não para o seu inode.
Devido a maior flexibilidade, pode-se usar soft Links em diretórios e dispositivos diferentes.
Uma desvantagem é que quando o nome do arquivo em que o soft Link aponta é removido, o soft Link para de funcionar.
Vamos usar exemplos para clarear o conceito de Hard Link e soft Link. Use o comando “ln” para criar links. “ln -s” para criar soft links. O comando “ls” usa o mesmo padrão dos comandos cp e mv.
Exemplos soFT LINK:
Criar um soft link para /home a partir do diretório /tmp:
#ln -s /home /tmp
Acima, criamos dentro do diretório /tmp um link simbólico para /home.
#ln -s /var/www/html
Acima, criamos no diretório atual (representado por “.”) um soft link(atalho) para o diretório de web /var/www/html
Exemplos HARD LINK:(**atenção PERIGO**)
Removendo LINKS:
Remover links pode ser perigoso. Caso não faça de forma correta, pode ter resultados inesperados – e desastrosos. Vejamos abaixo.
- Por exemplo, digite “cd” para ir para o diretório de trabalho do usuário. Depois crie uma pasta “mkdir teste”
#cd
#mkdir teste
- Copie os arquivos que começam de a a c da pasta /etc/ para a pasta ~/teste:
#cp /etc/[a-c]* ~/teste
- Crie um softLink para a pasta teste:
#ln -s teste link
- Agora, confirme o conteúdo da pasta teste e do link:
#ls ~/teste
#ls ~/link
- Apague o lin de forma direta:
#rm ~/link
- Verifique que ainda tem a pasta teste e seu conteudo:
#ls ~/teste
- – faça de novo o softLink:
#ln -s ~/teste link
- Dessa vez, apague o link usando recursao (r):
#rm -rf link
- – Agora veja que o link continua, mas todo o conteúdo dentro da pasta
~/teste
foi apagada.
Em conclusão, para apagar links use apenas “rm nomeDoLink” . Caso contrário, corre risco de ter resultados inesperados – e algumas vezes desastrosos.
Deixe um comentário
Você precisa fazer o login para publicar um comentário.