TextEdit não se importa com hard links? [duplicado]

2

Eu fiz um pequeno experimento. Primeiro eu corri o seguinte em um terminal:

mkdir test
cd test
echo "A" > a
echo "B" > b
ln a.txt c

Agora, a e c têm o mesmo conteúdo, A e o mesmo número de inode. Em seguida, posso editar c , usando o vim, para conter C em vez de A e a também conterá C, já que eles são o mesmo arquivo.

No entanto, se eu fizer a mesma experiência novamente, mas usar o TextEdit em vez do vim, parece criar um novo arquivo quando eu salvá-lo. c obtém um novo número de inode e a contém A . Por que é isso? O que está acontecendo?

    
por Svish 29.07.2010 / 12:27

1 resposta

1

talvez a rotina de salvamento do TextEdit funcione assim:

  1. armazena o conteúdo em um arquivo com nome diferente do original para garantir que tudo esteja gravado corretamente no disco. se o conteúdo foi gravado no disco com sucesso, continue.
  2. desvincular o nome do arquivo antigo
  3. renomeie o novo arquivo para "nome do arquivo antigo"
  4. libere o descritor de arquivo do nome do arquivo antigo.
por 29.07.2010 / 12:40