Warum kann ich eine Datei unter Linux erfolgreich verschieben, während sie geschrieben wird?

Diese Frage ist meiner Meinung nach technisch genug für S / O und wahrscheinlich zu programmierorientiert fürAndroid. Ich bin gespannt, wie Dateien in Android (oder Java oder Linux) verarbeitet werden, da ich etwas mit meinem neuen Smartphone gemacht habe und gespannt bin, wie es passiert ist.

Ich habe eine Datei von meinem Laptop über Bluetooth auf mein Android-Handy übertragen. Ich habe die neue Datei im Datei-Explorer gesehen, angenommen, dass sie vollständig übertragen wurde, und habe sie daher aus verschoben/sdcard/bluetooth zu/sdcard/torrents. Nachdem ich dies getan hatte, bemerkte ich, dass es tatsächlich noch übertragen wurde. Zu meiner Überraschung wurde der Vorgang erfolgreich abgeschlossen und mit einem Benachrichtigungssymbol auf dem Telefon sowie einer manuellen MD5-Prüfung auf beiden Seiten bestätigt. In den meisten Systemen hätte das Verschieben der Datei einen Absturz verursacht.

Was ist der Grund für diesen erfolgreichen Transfer? Mir ist bekannt, dass der Dateipfad im Allgemeinen vom Dateispeicherort im Dateisystem (in diesem Fall von einer SD-Karte) getrennt ist. Ich stelle mir vor, dass die Bluetooth-App ein Handle für die Datei geöffnet hat und als ich die Datei verschob, wurde eine Tabelle mit 'offenen Dateien' mit einem neuen Pfad aktualisiert. Gilt diese Funktion generell für jedes Linux-System? Könnte ich einmv auf eine Datei geschrieben wird und erwarten, dass die Kopie - an ihrem neuen Speicherort - korrekt ist?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage