Criação de links físicos
Todo arquivo inicia com um único link físico, desde seu nome inicial até os dados no sistema de arquivos. Quando você cria um link físico para um arquivo, cria outro nome que aponta para os mesmos dados. O novo link físico age exatamente como o nome do arquivo original. Depois que o link é criado, você não verá diferença entre o novo link físico e o nome original do arquivo.
Você pode determinar se um arquivo tem vários links físicos usando o comando ls -l. Um item que ele relata é a contagem de links de cada arquivo, o número de links físicos que o arquivo possui.
No próximo exemplo, a contagem de links do arquivo newfile.txt
é 1. Ele tem exatamente um caminho absoluto, que é o local /home/user/newfile.txt
.
[user@host ~]$ pwd
/home/user
[user@host ~]$ ls -l newfile.txt
-rw-r--r--. 1 user user 0 Mar 11 19:19 newfile.txt
Você pode usar o comando ln
para criar um link físico (outro nome de arquivo) que aponte para um arquivo existente. O comando precisa de pelo menos dois argumentos, o caminho do arquivo existente e o caminho para o link físico que deseja criar.
O exemplo a seguir cria um link físico chamado newfile-hlink2.txt
para o arquivo existente newfile.txt
no diretório /tmp
.
[user@host ~]$ ln newfile.txt /tmp/newfile-hlink2.txt
[user@host ~]$ ls -l newfile.txt /tmp/newfile-hlink2.txt
-rw-rw-r--. 2 user user 12 Mar 11 19:19 newfile.txt
-rw-rw-r--. 2 user user 12 Mar 11 19:19 /tmp/newfile-hlink2.txt
Para verificar se dois arquivos estão vinculados, use a opção -i
do comando ls
para listar o número de inode de cada arquivo.
Nota
Se os arquivos estiverem no mesmo sistema de arquivos e o mesmo número de inode, os arquivos são links físicos apontando para o conteúdo de arquivo dos mesmos dados.
Os links físicos que fazem referência ao mesmo arquivo compartilham o mesmo struct inode com a contagem de links, acessam permissões, propriedade de usuário e grupo, carimbos de data e hora e conteúdo de arquivo. Quando essas informações são alteradas para um link físico, os outros links físicos para o mesmo arquivo também mostram as novas informações. Isso ocorre porque cada link físico aponta para os mesmos dados no dispositivo de armazenamento.
Mesmo que o arquivo original seja excluído, o conteúdo do arquivo ainda estará disponível, desde que pelo menos um link físico exista. Os dados são excluídos do armazenamento somente quando o último link físico é excluído, tornando o conteúdo do arquivo não referenciado por qualquer link físico.
[user@host ~]$ rm -f newfile.txt
[user@host ~]$ ls -l /tmp/newfile-hlink2.txt
-rw-rw-r--. 1 user user 12 Mar 11 19:19 /tmp/newfile-hlink2.txt
[user@host ~]$ cat /tmp/newfile-hlink2.txt
Hello World