¿Qué sucede si elimina un archivo mientras se mueve de un sistema de archivos (ext4) a otro (NTFS)?

¿Qué sucede si elimina un archivo mientras se mueve de un sistema de archivos (ext4) a otro (NTFS)?

Esto me ha estado molestando desde ayer. Estaba usando Archivos GNOME (Nautilus) para mover un archivo de video de la carpeta 'Descargas' a una unidad NTFS. Ahora, cuando corté y pegué el archivo, apareció instantáneamente en el destino de destino (sistema de archivos NTFS separado, usando ntfs-3g en el mismo disco duro). Sé que cuando mueves archivos de un sistema de archivos a otro, básicamente copia y luego elimina el archivo (corrígeme si me equivoco). Pero 'cambié+eliminé' el archivo rápidamente desde la fuente y momentos después descubrí que el Administrador de archivos estaba Sigo moviendo el archivo al sistema de archivos NTFS, incluso después de que eliminé el archivo de la fuente y desapareció. Después de que la barra móvil alcanzó el 100%, me dio unerror. Pero verifiqué el destino de destino y el archivo aún se movió al destino y se reprodujo bien.

Entonces, ¿qué pasó realmente aquí? ¿Las operaciones de archivos en Linux funcionan posteriormente para no interrumpir la operación de movimiento? ¿O el archivo que se movió a mi destino de destino estaría dañado? ¿O el error se debió a la última operación de copia mientras el archivo se movía porque la operación de movimiento habría eliminado el archivo de todos modos?

Respuesta1

Eliminar un archivo no borra sus datos (contenido); solo elimina los metadatos que indican que el archivo está allí y marca el espacio en disco correspondiente como "libre para uso posterior".

Pero lo más importante es que el sistema operativomantenerdichos metadatos durante el tiempo que sea necesario. Incluso después de desvincular el archivo de su directorio (o de todos los directorios si tenía varios enlaces duros), el sistema operativo no eliminará el archivo real siempre que al menos un proceso lo mantenga abierto. Así que el archivo sigue ahí, sin nombre (pero sigue ocupando su espacio) durante el resto de la operación de copia.

Ihizodiga "operación de copia" porque las computadoras no pueden mover físicamente datos entre discos; primero, el archivo se copia al destino,entoncesel archivo original se elimina. En realidad, esa es la razón por la que recibió el mensaje de error: su administrador de archivos utiliza dos operaciones separadas (copiar y eliminar); la copia se realizó correctamente, pero la eliminación falló (porque habíayalo eliminé).

Respuesta2

En Linux, puedes eliminar archivos abiertos en la mayoría de los casos. Eso hará que el archivo desaparezca de las listas de directorios. Sin embargo, el espacio que ocupaba el archivo sólo se liberará cuando el archivo ya no esté en uso.

Lo que falló en su caso fue solo el último paso de una operación de movimiento: eliminar el archivo/directorio de origen.

información relacionada