0 votos

Alterar un archivo vinculado duro en una ubicación parece destruirlo en otra ubicación

Tengo un archivo, miarchivo.txt, ubicado en la carpeta1. Desde el terminal creo un enlace duro a este archivo en otro directorio con el comando

ln myfile.txt ~/Documents/folder2

El nuevo archivo aparece como se esperaba en la carpeta2. Cuando examino el inodo de cada archivo usando ls -i, da el mismo número, como se esperaba. Sin embargo, si abro el archivo y lo modifico en la carpeta1, después de guardar, si abro el archivo desde la carpeta2 no tiene datos. Investigando los números de inodo con ls -i, los dos archivos tienen ahora números de inodo diferentes. Así que mi pregunta es, ¿por qué ocurre esto? ¿Es este el comportamiento que debería esperar? Tenía entendido que los enlaces duros eran archivos realmente indistintos, simplemente nombres alternativos para los mismos datos. Por lo tanto, yo esperaría que la alteración del archivo después de abrirlo en una ubicación no sería diferente a si lo hubiera abierto desde la otra ubicación. ¿Alguien puede explicar qué está pasando aquí?

En caso de que importe, estoy usando Mavericks y el terminal.app por defecto.

Algunas informaciones adicionales. El comportamiento descrito ocurría cuando el archivo se editaba con TeXShop o TextEdit, así que pensé que era algo a nivel del sistema operativo. Sin embargo, parece que no ocurre cuando edito el archivo con Aquamacs.

1voto

DUKE Puntos 135

Un amigo mío encontró la respuesta para mí. Aparentemente OS X tiene una función writeToFile:atomically, que hace que se haga una copia del archivo editado, y luego, al guardar, reemplaza el archivo original con la copia. Como la copia existe en un lugar diferente del disco duro, tiene un número de inodo diferente. Así que después de guardar, el archivo abierto apunta a una nueva ubicación y los datos en el inodo original se eliminan. Esto hace que la otra copia del archivo no apunte a nada en la ubicación del inodo original.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X