como funciona o link físico e o link flexível?

0

O conceito é muito difícil de entender.

Eu entendo que o link físico aponta para o mesmo arquivo para que eles tenham o mesmo tamanho que o arquivo original e os soft links são baseados em texto e apontam para o local do arquivo desejado.

O que eu não entendo é por que quando você aponta para um arquivo com um link físico e então suprime o arquivo original, o hardlink ainda representa o arquivo e os arquivos ainda existem então?

Eu sei que quando você apaga um arquivo ele não é realmente apagado, apenas diz que há espaço vazio aqui onde você pode escrever, então o arquivo ainda está aqui, apesar de eu ter suprimido, então acho que pressionar um arquivo significa apenas apagar o ponteiro para ele e não o arquivo em si e é por isso que é mais rápido excluir e copiar um arquivo.

Um arquivo sempre continuará existindo enquanto pelo menos um link ainda apontar para ele, portanto, como o hardlink está diretamente conectado ao arquivo, ele não será excluído e terá o nome do segundo link.

Mas se é um link macio, temos apenas um arquivo de texto que mostra o diretório do arquivo desejado para que ele não tenha nenhum rapport sobre o estado do arquivo original, essa é minha teoria, espero que alguém me explique e corrija.

    
por Ilies Bekhtaoui 28.02.2017 / 14:16

1 resposta

2

What i don't get is why when you point to a file with a hard link and then you suppress the original file the hardlink still represent the file and the files still exists then ?

Hardlinks são basicamente apenas nomes anexados a um inode, e o nome original que você dá a um novo arquivo também é um hardlink. Então, se você excluir o original, na verdade não estará "suprimindo o arquivo original". Você acabou de excluir o link original.

O syscall "remover arquivo" também é chamado unlink(2) - consulte Linux ou FreeBSD docs.

A file will always keep existing as long as at least one link still point to it , so because the hardlink is directly connected to the file it will not be deleted and will take the name of the second link.

Como acima. Hardlinks são essencialmente apenas nomes para o arquivo. Então, se tem dois hardlinks (originais e criados adicionalmente), então tem dois nomes.

(Na maioria dos sistemas Unix, arquivos sem links (sem nomes) também podem existir - contanto que um processo mantenha um identificador. É um truque comum usado com arquivos temporários: crie um arquivo grande em / tmp e imediatamente desligue-o.)

But if it's a soft link we just have a text file that show the directory of the wanted file so it have no rapport on the state of the original file

Parece correto.

    
por 28.02.2017 / 15:14

Tags