Eu costumava mklink /H 2.txt 1.txt
criar um link físico de 1.txt
. Quando alterei um arquivo, o outro arquivo também foi alterado. Mas quando fiz a mesma coisa para um arquivo de imagem PNG, as alterações não foram compartilhadas. Ou seja, a alteração que fiz 2.png
não foi aplicada ao 1.png
. Como é isso? Fiz algo de errado?
PS: Suspeito que os editores de imagem (Microsoft Paint e Paint.NET) talvez excluam o arquivo original e criem um novo arquivo com o mesmo nome quando edito a imagem e pressiono Ctrl + S, ao contrário do Bloco de Notas que realmente modificou o arquivo original .
Execute
fsutil file layout
em ambos os arquivos e compare o "Número de referência do arquivo" (o Windows equivalente ao "número do inode"). Se depois de salvar esses números forem diferentes, os arquivos não estarão mais realmente vinculados - você terá um novo arquivo com o mesmo nome.A diferença está na forma como o programa que você usou fez a atualização do arquivo.
Se o programa acabou de substituir o conteúdo do arquivo de texto antigo pelo novo conteúdo, o arquivo é o mesmo aos olhos do sistema de arquivos do Windows. Nesse caso, o link físico é mantido.
Se o programa criou um novo arquivo e excluiu o original, o link físico é desfeito (a maioria dos editores de imagem funciona assim). Como você atualizou por meio do link, o programa excluiu apenas o link, portanto, o arquivo original não foi excluído. O novo arquivo de imagem não participa de nenhum link, então agora você tem dois arquivos, original e modificado.