Create hard and soft links:

Num sistema de base UNIX um ficheiro consiste em duas partes: a parte dos Dados e a parte do Nome do ficheiro. A parte dos Dados está associada com algo que é chamado de “inode”, que é basicamente um mapa que contem as características do ficheiro como a sua localização (os bits no disco), permissões, tamanho, etc; enquanto a parte do Nome tem o nome do ficheiro e a sua referência de inode.

Note-se que num sistema o mesmo ficheiro pode ser evocado várias vezes e em diferentes sítios (devido a questões de segurança de permissões hierárquicas do file-system) contudo caso por cada vez que existe a necessidade de evocar um determinado ficheiro em uma determinada diretoria, fosse lá colocado uma cópia desse mesmo ficheiro, o sistema rapidamente começava a acumular vários ficheiros em duplicado não sendo feita uma eficiente gestão de espaço nos sistemas.

Por este motivo foram criados os “Links”. Um Hard-Link é basicamente um novo ficheiro contudo este faz link para o mesmo inode, enquanto um Soft\Symbolic-Link é somente um link para um outro nome.

Pondo em questões práticas percebemos que com um Hard-Link como aponta realmente para um inode, podem ser feitas alterações como renomear\apagar\mover no ficheiro original, sendo que o Hard-Link vai se manter á mesma funcional. (Note-se que quando removemos algum ficheiro no sistema este apenas remove o link para o mesmo, somente quando o ficheiro não tem mais links é que os inodes ficam disponíveis para serem removidos\rescritos por cima). Um Soft-Link é o oposto do descrito acima, como este apenas aponta para o nome do ficheiro, caso sejam feitas alterações como renomear/remover/alterar no ficheiro original o Soft-Link deixará de ser funcional.

Criar um Hard-Link [HDL_1] para o ficheiro [ficheiro_1]:

# ln [ficheiro_1] [HDL_1]

Caso se pretenda criar um Soft-Link [SFTL_1], para o ficheiro [ficheiro_2]:

# ln -s [ficheiro_2] [SFTL_1]

NOTA: Hard-Links são apenas válidos no mesmo file-system. Soft-Links podem se extender a diferentes file-systems sendo que estes apenas apontam para um nome e nada mais.

Last updated

Was this helpful?