O que é um symblink no Linux?

O que é um symblink no Linux?
Um link simulador também é conhecido como link simbólico ou link suave. É um atalho para um caminho absoluto ou relativo para um diretório ou arquivo. Um nome que representa um atalho de um caminho absoluto ou relativo para um diretório ou arquivo é um símbolo. O symlink é um arquivo de pequeno conteúdo cujo nome de arquivo é usado como o symlink. Considere o seguinte link absoluto:
/Home/John/Dir1/Dir2/Dir3/Dir4

O primeiro slash para a frente é o diretório raiz; Home é o diretório doméstico, que é um subdiretório do diretório raiz; John é o diretório do usuário, John, que é um subdiretório do diretório doméstico. O restante dos diretórios é subdiretorias para um diretório anterior criado por John.

É possível ter um nome chamado quarto residente no diretório dir2 e representando DIR4, para o caminho absoluto,

/Home/John/Dir1/Dir2/Dir3/Dir4

ou o caminho relativo,

DIR3/DIR4

Agora, o quarto residente em Dir2 é um symblink para dir4. Considere o mesmo link absoluto, mas com um arquivo chamado, Effile; aquilo é:

/Home/John/Dir1/Dir2/Dir3/Dir4/Effile

É possível ter um nome chamado FourthFile residindo no diretório DIR2 e representando effile, para o caminho absoluto,

/Home/John/Dir1/Dir2/Dir3/Dir4/Effile

ou o caminho relativo,

dir3/dir4/effile

Agora, o quarto arquivo residente em Dir2 é um symblink para efilar.

Um link simbólico pode representar um diretório ou um arquivo. O leitor agora sabe o que é chamado de link simbólico em sistemas operacionais Linux/Unix. No entanto, é que todo o programador deve saber? - Não. O programador precisa saber como criar um link simbólico, usar um link simbólico, excluir um link simbólico, significando links pendentes, comparação com links rígidos e as vantagens e desvantagens de qualquer tipo de link. Tudo o que é discutido neste artigo.

O shell bash é usado para este artigo.

Conteúdo do artigo

  • Introdução - Veja acima
  • Criando um symblink
  • Usando o symlink
  • Removendo o Symlink
  • Link pendurado
  • Hard Link Basics
  • Algumas vantagens e desvantagens de ambos os links
  • Conclusão

Criando um symblink

Antes de criar um symblink, um caminho de diretório e/ou arquivo já deveriam existir. Se o caminho ainda não existir, poderá ser criado da seguinte maneira, a partir de qualquer diretório:

mkdir -p/home/john/dir1/dir2/dir3/dir4

Se o interruptor -p estiver ausente, os diretórios não serão criados. Um symlink pode representar um caminho de diretório sozinho ou um caminho de diretório com um arquivo. Se o arquivo ainda não existir, poderá ser criado a partir de qualquer diretório ou diretório inicial, como segue:

Touch/Home/John/Dir1/Dir2/Dir3/Dir4/Effile

O arquivo (arquivo de texto) é efilo e o arquivo atualmente não tem conteúdo.

Criando um symblink

A sintaxe para criar um symblink para um diretório é:

ln -s [caminho original] [novo nome do link]

A sintaxe para criar um symblink para um arquivo é semelhante, ou seja:

LN -S [Path/FileName Original] [NOVO LINK FILENAME]

O comando link é ln. Se o interruptor -s estiver ausente, um link rígido será criado (veja abaixo).

Criando um symblink de diretório

Um symlink tem que residir em um diretório. Para criar um link simbólico para outro diretório, o programador precisa usar o comando CD para ir para onde o symlink residirá e, ali, criar o symlink com um caminho absoluto ou um caminho relativo. O symlink, quarto a residir em dir2, para o diretório, dir4 do caminho

/Home/John/Dir1/Dir2/Dir3/Dir4

pode ser criado no DIR2 da seguinte maneira:

ln -s/home/john/dir1/dir2/dir3/dir4 quarto

O uso do link relativo será o seguinte, ainda no diretório DIR2:

LN -S DIR3/DIR4 Quarto

Criando um arquivo simplório

Um symlink tem que residir em um diretório. Para criar um link simbólico para um arquivo em outro diretório, o programador precisa usar o comando CD para ir para onde o symlink residirá e, ali, criar o símbolo com um caminho absoluto ou com um caminho relativo. O symlink, quarto arquivo para residir em dir2, para o arquivo effile em dir4, do caminho,

/Home/John/Dir1/Dir2/Dir3/Dir4

pode ser criado no DIR2 da seguinte maneira:

ln -s/home/john/dir1/dir2/dir3/dir4/effile FourthFile

O uso do link relativo será o seguinte, ainda no diretório DIR2:

Ln -s Dir3/Dir4/Effile FourthFile

É possível criar um link de arquivo a partir de um diretório Symlink? - Sim. Eu deixo isso como um exercício para o leitor.

Usando o symlink

Para acessar o diretório, Dir4, usando o symlink, quarto, de qualquer diretório, tipo:

CD ~/DIR1/DIR2/Quarto

e pressione Enter. Observe que o quarto substituiu o DIR3/DIR4. O prompt se tornará algo como:

John@Computername: ~/dir1/dir2/quarto $

No entanto, este não é o caminho para dir4. O caminho é realmente:

/home/John/dir1/dir2/dir3/dir4/

Para acessar o arquivo, effile no diretório, dir4, usando o symlink, quarto arquivo, de qualquer diretório, tipo:

Cat ~/Dir1/Dir2/Quartofile

e pressione Enter. Observe que o FourthFile substituiu o DIR3/DIR4/EFFILE. O conteúdo do arquivo (effile) deve ser exibido no terminal. Observe o uso do comando, gato.

Removendo o Symlink

Mais de um symblink

Pode haver mais de um symblink para um diretório ou um arquivo. Quando um diretório ou arquivo é criado, há um link natural para ele. Um link simbólico é apenas um código alternativo e mais curto para acessar o diretório ou arquivo. Pode haver mais de um symblink para acessar um diretório ou um arquivo. Se algum link simbólico for excluído, os outros symblinks ou o link natural permanecem em operação.

Para saber o número de links e o caminho original (caminho usado na criação do symlink), vá para o diretório que possui o symlink com o comando do CD e digite:

LS -LA

Ele exibirá algumas linhas. Haverá uma linha para cada um dos links. Depois que o texto como LRWXR-XRWX será o número de symblinks. No final da linha, será o caminho original. Um exemplo da tela é o seguinte:

Total 12
drwxr-xr-x 3 John John 4096 30 de maio 19:42 .
DRWXR-XR-X 3 John John 4096 30 de maio 07: 59…
drwxr-xr-x 3 John John 4096 30 de maio 07:59 DIR3
lrwxrwxrwx 1 John John 32 30 de maio 19:42 Quarto ->/home/forcha/dir1/dir2/dir3/dir4
lrwxrwxrwx 1 John John 39 30 de maio 19:38 Quarto e

O comando rm

Lembre -se, o symlink reside em um diretório. Um diretório ou arquivo simplista é removido da mesma maneira que um arquivo é removido; Afinal, um symblink é um arquivo. Os dois comandos a seguir ilustram isso:

rm ~/dir1/dir2/quarto
rm ~/Dir1/Dir2/Quartofile

Observe o caminho anterior para o arquivo simplista. Além disso, observe o uso de ~ que se refere ao diretório do usuário.

Link pendurado

Pode haver mais de um symblink para um diretório ou um arquivo. Se o diretório ou arquivo real for movido ou removido usando o link natural, os symblinks se tornam links pendentes, pois não têm mais uso. Um link pendurado também é chamado de link quebrado, link órfão, ou link morto.

Hard Link Basics

O nome natural de um diretório ou arquivo é um link difícil. Outros links rígidos podem ser criados para apontar para o mesmo diretório ou arquivo. Se o diretório ou arquivo original for excluído (removido) usando o link natural, os dados ainda existem através dos outros links rígidos. Os dados são removidos completamente apenas quando todos os links rígidos foram removidos.

Nota: Links rígidos são recomendados apenas para arquivos e não para diretórios.

Algumas vantagens e desvantagens de ambos os links

Vantagens

  • Um symlink pode vincular a um arquivo, bem como a um diretório.
  • Um link suave (link simbólico) pode ser criado para diferentes volumes (sistemas de arquivos).
  • Um link rígido não pode acabar como um link quebrado (pendurado).

Desvantagens

  • Links suaves (links simbólicos) têm a possibilidade de se tornar mortos (pendurados) links.
  • Não é recomendável que um novo link rígido seja criado para um diretório.
  • Um link rígido não pode ser criado para diferentes volumes (sistemas de arquivos).

Conclusão

Um symlink é um atalho para um diretório ou um arquivo. O atalho é um arquivo de pequeno conteúdo e precisa residir em um diretório. Um novo link rígido é um nome alternativo para o nome original e aponta para o mesmo arquivo. Links suaves e links rígidos têm suas vantagens e desvantagens. Para criar um symblink, vá para o diretório onde o symlink tem que ser. Use o comando ln com o interruptor -s. Para acessar um link simbólico, encaixe o symlink no final do caminho do diretório e possivelmente precede o caminho com ~. Outro nome para Symlink é um link simbólico ou link suave. Para saber o número de symlinks para um diretório ou arquivo, vá para o diretório onde o symlink reside e use o comando, “ls -la.”Isso também dá o caminho original.

Um link simulado é removido da maneira como um arquivo é removido. Existem diferentes maneiras de remover um symblink. No entanto, o comando para lembrar facilmente de remover um symblink é rm. Ajuste o symlink no final do caminho do diretório, se necessário. E possivelmente preceder o caminho com ~. Um link vencedor é um link simbólico de um arquivo ou um diretório, que foi movido ou excluído (removido). Esse link não é mais de uso. Outro nome para Links Dangling é o link quebrado, ou link órfão, ou link morto.