<Anterior | Conteúdo | Próxima>
Criação de links físicos
Agora vamos tentar alguns links. Primeiro, os links físicos. Criaremos alguns links para nosso arquivo de dados como:
[me @ linuxbox playground] $ Na diversão, diversão difícil [me @ linuxbox playground] $ ln fun dir1 / fun-hard [me @ linuxbox playground] $ ln fun dir2 / fun-hard
[me @ linuxbox playground] $ Na diversão, diversão difícil [me @ linuxbox playground] $ ln fun dir1 / fun-hard [me @ linuxbox playground] $ ln fun dir2 / fun-hard
Portanto, agora temos quatro instâncias do arquivo “diversão”. Vamos dar uma olhada em nosso diretório de playground:
[me @ linuxbox playground] $ ls -l
16 total
drwxrwxr-x | 2 | me | me | 4096 | 2016-01-14 | 16:17 | dir1 |
drwxrwxr-x | 2 | me | me | 4096 | 2016-01-14 | 16:17 | dir2 |
-rw-r - r-- | 4 | me | me | 1650 | 2016-01-10 | 16:33 | Diversão |
-rw-r - r-- | 4 | me | me | 1650 | 2016-01-10 | 16:33 | divertido |
Uma coisa que você percebe é que o segundo campo na lista para Diversão e divertido ambos contêm um “4” que é o número de links físicos que agora existem para o arquivo. Você se lembrará de que um arquivo sempre terá pelo menos um link porque o nome do arquivo é criado por um link. Então, como sabemos que Diversão e divertido são, de fato, o mesmo arquivo? Nesse caso, ls não é muito útil. Embora possamos ver isso Diversão e divertido são do mesmo tamanho (campo 5), nossa listagem não fornece nenhuma maneira de ter certeza. Para resolver este problema, estamos
vai ter que cavar um pouco mais fundo.
Ao pensar em links físicos, é útil imaginar que os arquivos são compostos de duas partes: a parte dos dados que contém o conteúdo do arquivo e a parte do nome que contém o nome do arquivo. Quando criamos links físicos, na verdade estamos criando partes de nome adicionais que se referem à mesma parte de dados. O sistema atribui uma cadeia de blocos de disco ao que é chamado de inode, que é então associado à parte do nome. Cada link físico, portanto, se refere a um inode específico que contém o conteúdo do arquivo.
O ls comando tem uma maneira de revelar essas informações. É invocado com a opção “-i”:
[me @ linuxbox playground] $ ls - ele
16 total
12353539 | drwxrwxr-x | 2 | me | me | 4096 | 2016-01-14 | 16:17 | dir1 |
12353540 | drwxrwxr-x | 2 | me | me | 4096 | 2016-01-14 | 16:17 | dir2 |
12353538 | -rw-r - r-- | 4 | me | me | 1650 | 2016-01-10 | 16:33 | Diversão |
12353538 | -rw-r - r-- | 4 | me | me | 1650 | 2016-01-10 | 16:33 | divertido |
Nesta versão da lista, o primeiro campo é o número do inode e, como podemos ver, ambos Diversão e divertido compartilham o mesmo número de inode, o que confirma que são o mesmo arquivo.