O sistema de arquivos do Unix, implementa o conceito de link. No Unix, criar um link significa apenas em adicionar um entrada na tabela de diretórios que aponta para uma área no disco rígido.
Existem dois tipos de links no Unix: o físico (hard link) e o simbólico (symbolic link).
Cada vez que um hard link é criado, o contador com número de pontos de link que apontam para a relativa área de disco é incrementado. Quando um hard link é destruído (por exemplo, durante a remoção de um arquivo), o contador para a área de disco correspondente ao mesmo é decrementada e, quando o mesmo chega a zero, o kernel desaloca a área de disco para ser utilizada para outros fins. Hard links não podem apontar para diretórios ou arquivos inexistentes no sistema.
O symbolic link, por sua vez, é um arquivo que contém o nome de um arquivo no seu corpo. Cada vez que o kernel encontra um symbolic link, ele substitui o nome do link pelo seu conteúdo e continua a interpretação do arquivo, até encontrar um hard link. Symbolic links podem apontar para quaisquer tipos de arquivos, inclusive inexistentes.
Links podem ser criados no Unix através do comando ln, cuja sintaxe é:
ln [opções] fonte [destino]
maquina:~$ ls -la maquina:~/financas$ ls -la total 3 drwxr-xr-x 2 aluno users 1024 Feb 6 06:31 ./ drwxr-xr-x 4 aluno users 1024 Feb 5 13:53 ../ -rw-r--r-- 1 aluno users 20 Feb 5 14:52 balanco.txt maquina:~/financas$ ln balanco.txt hard maquina:~/financas$ ls -la total 4 drwxr-xr-x 2 aluno users 1024 Feb 6 06:32 ./ drwxr-xr-x 4 aluno users 1024 Feb 5 13:53 ../ -rw-r--r-- 2 aluno users 20 Feb 5 14:52 balanco.txt -rw-r--r-- 2 aluno users 20 Feb 5 14:52 hard maquina:~/financas$
maquina:~/financas$ ls -la total 4 drwxr-xr-x 2 aluno user 1024 Feb 6 06:32 ./ drwxr-xr-x 3 aluno users 1024 Feb 5 13:53 ../ -rw-r--r-- 2 aluno users 20 Feb 5 14:52 balanco.txt -rw-r--r-- 2 aluno users 20 Feb 5 14:52 hard maquina:~/financas$ ln -s balanco.txt soft maquina:~/financas$ ls -la drwxr-xr-x 2 aluno users 1024 Feb 6 06:40 ./ drwxr-xr-x 3 aluno users 1024 Feb 5 13:53 ../ -rw-r--r-- 2 aluno users 20 Feb 5 14:52 balanco.txt -rw-r--r-- 2 aluno users 20 Feb 5 14:52 hard lrwxrwxrwx 1 aluno users 7 Feb 6 06:40 soft -> balanco.txt maquina:~/financas$
Como pode ser visto, o hard link de nome hard é apenas mais um apontador para a área de disco previamente apontada por balanco.txt. Caso a entrada balanco.txt seja removida da tabela de diretório, o conteúdo do arquivo para onde tal entrada apontava ainda continuará existindo, visto que a entrada hard ainda continua apontando para lá.