Que se passe-t-il si vous supprimez un fichier alors qu'il se déplaçait d'un système de fichiers (ext4) à un autre (NTFS)?

0

cela me dérange depuis hier. J'utilisais GNOME Files (Nautilus) pour déplacer un fichier vidéo du dossier "Téléchargements" vers un lecteur NTFS. Maintenant, lorsque j'ai coupé et collé le fichier, il est instantanément apparu dans la destination cible (système de fichiers NTFS séparé, en utilisant ntfs-3g sur le même disque dur). Je sais que lorsque vous déplacez des fichiers d'un système de fichiers à un autre, il copie et supprime le fichier (corrigez-moi si je me trompe). déplace toujours le fichier vers le système de fichiers NTFS, même après que j'ai supprimé le fichier de la source et il a disparu. Après que la barre mobile atteigne 100%, cela me donne une Erreur . Mais j'ai vérifié la destination cible et le fichier était toujours déplacé vers la destination et tout s'est bien déroulé.

Alors, que s'est-il vraiment passé ici? Les opérations sur les fichiers sous Linux fonctionnent-elles par la suite pour ne pas interrompre l'opération de déplacement? Ou le fichier qui a été déplacé vers ma destination cible serait corrompu? ou est-ce que l'erreur est due à la dernière opération de copie pendant le déplacement du fichier parce que l'opération de déplacement aurait quand même supprimé le fichier?

Arslan Axton
la source

Réponses:

1

La suppression d'un fichier ne supprime pas ses données (son contenu). Elle supprime uniquement les métadonnées indiquant que le fichier est présent et marque l'espace disque correspondant comme "libre pour une utilisation ultérieure".

Mais plus important encore, le système d'exploitation garder dit métadonnées autour aussi longtemps qu'il en a besoin. Même après avoir dissocié le fichier de son répertoire (ou de tous les répertoires s’il comportait plusieurs liens physiques), le système d’exploitation ne supprime pas le fichier réel tant qu’au moins un processus le maintient ouvert. Donc, le fichier est toujours là -  juste sans nom (mais occupant toujours son espace) pendant le reste de la copie.

je fait dites "opération de copie" car les ordinateurs ne peuvent pas déplacer physiquement les données entre les disques - le fichier est d'abord copié vers la destination, puis le fichier d'origine est supprimé. C'est en fait la raison pour laquelle vous avez reçu le message d'erreur: votre gestionnaire de fichiers utilise deux opérations distinctes (copier et supprimer); la copie a réussi, mais la suppression a échoué (parce que vous aviez déjà Supprimé).

grawity
la source
2

Sous Linux, vous pouvez supprimer les fichiers ouverts dans la plupart des cas. Cela fera disparaître le fichier des listes de répertoires. L'espace occupé par le fichier ne sera toutefois libéré que lorsque le fichier ne sera plus utilisé.

Ce qui a échoué dans votre cas n’est que la dernière étape d’une opération de déplacement: Suppression du fichier / répertoire source.

Daniel B
la source