โดยหลักการทำงานจะเป็นดังนี้ ในการดำเนินการย้าย แต่ละไฟล์ในต้นทางจะถูกลบทันทีที่คัดลอกไปยังปลายทางสำเร็จเมื่อคุณขัดขวางการดำเนินการย้ายระหว่างการถ่ายโอนไฟล์ (โดยทั่วไปจะเป็นไฟล์ที่ใหญ่กว่า) ไฟล์ปลายทางจะไม่สมบูรณ์ (ในความเห็นของฉันเป็นพฤติกรรมที่โชคร้ายของ linux - แต่ควรลบสำเนาที่ไม่สมบูรณ์ เช่น ไฟล์ที่เสียหาย) อย่างไรก็ตาม ไฟล์ต้นฉบับจะถูกเก็บไว้
ข้อพิจารณาประการที่สองคือ Linux ใช้ RAM อย่างกว้างขวางเพื่อบัฟเฟอร์การดำเนินการถ่ายโอนไฟล์ ซึ่งหมายความว่าเนื้อหาจะถูกแคชไว้ในหน่วยความจำ RAM ก่อน จากนั้นจึงเขียนออกมาจริงบนดิสก์ปลายทางโดยมีความล่าช้าเล็กน้อย เนื่องจากกลไกนี้ สำเนาดูเหมือนจะเสร็จเร็วกว่าความเป็นจริง เมื่อไฟล์ทั้งหมดถูกอ่านไปยังแคช การคัดลอกถือว่าเสร็จสิ้น จากนั้นระบบปฏิบัติการจะดำเนินการเขียนไฟล์ลงในดิสก์ต่อไปในพื้นหลัง
การที่คุณมีไฟล์เสียหายทำให้ฉันสงสัยว่าคุณอาจลบไดรฟ์ exfat เร็วเกินไป คุณอาจถอดไดรฟ์ออกหลังจากที่ระบบแจ้งให้คุณทราบว่าการดำเนินการย้ายของคุณถูกยกเลิก ระบบบอกเช่นนั้น แต่ในความเป็นจริง การดำเนินการเขียนทางกายภาพอาจยังคงดำเนินต่อไปในพื้นหลังตามการแคชที่ฉันอธิบายไว้ข้างต้น
นี่เป็นเหตุผลหลักว่าทำไมคุณต้องถอดปลั๊กไดรฟ์ของคุณทุกครั้งหลังจากที่ได้ยกเลิกการเชื่อมต่อผ่านซอฟต์แวร์แล้ว หากคุณพยายามยกเลิกการเชื่อมต่อผ่านซอฟต์แวร์เป็นครั้งแรก ระบบจะเตือนคุณหากการลบทางกายภาพยังไม่ปลอดภัย ให้ล้างแคชและแจ้งให้คุณทราบเมื่อสามารถถอดไดรฟ์ได้อย่างปลอดภัย
คำแนะนำ: ควรคัดลอกมากกว่าย้ายไฟล์ชุดใหญ่ก่อน แล้วจึงลบต้นฉบับเมื่อคัดลอกเสร็จแล้ว หากคุณยกเลิก ไฟล์ต้นฉบับทั้งหมดจะยังคงอยู่โดยไม่ถูกแตะต้อง