O link é um mecanismo que faz referência a outro arquivo ou diretório em outra localização. Os links são arquivos especiais e podem ser identificados com um “l” quando executado o comando: “ls -la”.
Exemplo:
$ ls -la
lrwxr-xr– 1 roberto roberto 5 2006-10-12 22:40 link -> teste.txt
Veja abaixo a descrição do dois tipos de links existentes no Linux.
TIPO SIMBÓLICO
No link tipo simbólico, o link é um arquivo especial de disco do tipo link, que tem como conteúdo o caminho para chegar até o arquivo alvo.
Características:
- Pode-se fazer links simbólicos em arquivos e diretórios;
- O link simbólico e o arquivo alvo não precisam estar na mesma partição de disco;
- Se o link simbólico for apagado/movido. Somente o link será apagado/movido;
- Qualquer usuário pode criar/desfazer um link simbólico (respeitando as permissões).
TIPO HARDLINK
No link tipo hardlink, o link é apontado para o mesmo inode do arquivo alvo, sendo assim, os dois arquivos serão o mesmo.
Características:
- Não é possível fazer um hardlink para um diretório;
- Somente é possível fazer hardlink em arquivos que estejam em uma mesma partição de disco;
- Se o hardlink for apagado/movido, você estará apagando/movendo o arquivo alvo;
- Somente o usuário root pode criar/desfazer hardlinks.
CRIANDO LINKS
O comando ln é utilizado para criar links entre dois arquivos ou para um diretório.
Sintaxe:
ln [OPÇÕES]... [-T] ALVO NOME_LINK (1a forma) ln [OPÇÕES]... ALVO (2a forma) ln [OPÇÕES]... ALVO... DIRETÓRIO (3a forma) ln [OPÇÕES]... -t DIRETÓRIO ALVO... (4a forma)
Explicando:
- ALVO: Diretório ou arquivo de onde será feito o link;
- NOME_LINK: Nome do link que será criado;
- OPÇÕES:
-s
Cria um link simbólico.
-v
Modo verbose.
Exemplos:
1 – Criando um link simbólico chamado “emulador” para o diretório /home/roberto/download/emulador_n64/:
$ ln -s /home/roberto/download/emulador_n64/ emulador
Note que o link simbólico é identificado com o “l” no início.
$ ls -lah | grep emulador lrwxrwx–x 1 roberto roberto 36 2006-10-12 22:42 emulador -> /home/roberto/download/emulador_n64/
2 – Criando um hardlink chamado “texto.txt” apontando para o arquivo “alvo_hardlink.txt”:
$ ln alvo_hardlink.txt texto.txt
Note que o arquivo “alvo_hardlink.txt” e o arquivo texto.txt possuem o mesmo Inode e o mesmo Device.
$ stat alvo_hardlink.txt | grep Inode
Device: 304h/772d Inode: 3057948 Links: 2
$ stat texto.txt | grep Inode
Device: 304h/772d Inode: 3057948 Links: 2
credito: https://www.vivaolinux.com.br/dica/Link-simbolico-e-hardlink