====== Links simbólicos e físicos ====== No sistema UNIX há um tipo de arquivo que é o //link// que faz ligações de um arquivo para outro e o qual pode ser chamado de link físico (//hard link//) ou link simbólico (//soft link//). ==== Link simbólico (soft link) ==== Usaremos o soft link quando quisermos fazer uma referência simples um caminho muito longo, poupando assim a digitação. Por padrão, a permissão de qualquer link sempre será 0777, mesmo que o arquivo para qual ele aponte seja diferente. Para criar um link simbólico para um arquivo no mesmo local (diretório): # ls /etc/ > lista # ln -svf lista simbolico “simbolico” -> “lista” # ls -l simbolico lrwxrwxrwx 1 root root 5 Mai 28 19:00 simbolico -> lista Agora em outro diretório: # ls /etc/ > /tmp/origem # ln -sfv /tmp/origem destino “destino” -> “/tmp/origem” # ls -la destino lrwxrwxrwx 1 root root 11 Mai 28 19:04 destino -> /tmp/origem ==== Link físico ==== A diferença entre o //hard link// e um //soft link// é que o //soft link// precisa do parâmetro "//-s//", e o link simbólico serve para arquivos e diretórios e o link físico serve apenas para arquivos, mas a filosofia é a mesma. Vamos supor supor que o arquivo //teste.txt// tenha 20 MB e ele seja importante. Mas ficar duplicando um arquivo somente para ter uma cópia de segurança e ficar gastando 40 MB do disco rígido não é muito interessante. Então, nesse caso, você cria um //hard link//. O que acontece aqui é que temos um //link físico// que aponta para o arquivo //teste.txt// e os dois possuem o mesmo conteúdo. Se um dos arquivos for alterado, será afetado o outro também. Não é possível ter dois arquivos com o mesmo //inode//, mas com o //link físico// ocorre essa situação, que é uma exceção à regra. Para esse caso é como se um arquivo tivesse dois nomes, já que o //inode// dele é o mesmo. # ln -fv lista hardlink “hardlink” => “lista” Usando a flag "//-i//" do comando //ls// podemos visualizar os //inodes//: # ls -li hardlink lista 652 -rw-r--r-- 2 root root 1243 Mai 28 19:00 hardlink 652 -rw-r--r-- 2 root root 1243 Mai 28 19:00 lista