RHCSA, RHCE, Linux, Ansible, AWS

Criar links "hard" e "soft". (comando ln) – Link

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:

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.

  1. Por exemplo, digite “cd” para ir para o diretório de trabalho do usuário. Depois crie uma pasta “mkdir teste”#cd
    #mkdir teste
  2. Copie os arquivos que começam de a a c da pasta /etc/ para a pasta ~/teste:#cp /etc/[a-c]* ~/teste
  3. Crie um softLink para a pasta teste:#ln -s teste link
  4. Agora, confirme o conteúdo da pasta teste e do link:#ls ~/teste
    #ls ~/link
  5. Apague o lin de forma direta:#rm ~/link
  6. Verifique que ainda tem a pasta teste e seu conteudo:#ls ~/teste
  7. – faça de novo o softLink:
    #ln -s ~/teste link
  8. Dessa vez, apague o link usando recursao (r):#rm -rf link
  9. – 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.

Avatar de temweb

Sobre o autor

Deixe um comentário