Về nguyên tắc, nó hoạt động như sau. Khi di chuyển, mỗi tệp trong nguồn sẽ bị xóa ngay sau khi nó được sao chép thành công vào đích.Khi bạn làm gián đoạn thao tác di chuyển trong khi truyền tệp (thường là tệp lớn hơn), tệp đích không đầy đủ (theo ý kiến của tôi là hành vi đáng tiếc của linux - thay vào đó, bản sao không đầy đủ, tức là tệp bị hỏng, nên bị xóa) , tuy nhiên tệp nguồn vẫn được giữ lại.
Xem xét thứ hai là Linux sử dụng rộng rãi RAM để đệm các hoạt động truyền tệp. Điều đó có nghĩa là nội dung trước tiên được lưu vào bộ nhớ RAM và chỉ sau đó mới được ghi ra một cách vật lý với một số độ trễ trên đĩa đích. Do cơ chế này, bản sao dường như được hoàn thành sớm hơn so với thực tế. Khi tất cả các tệp đã được đọc vào bộ đệm, quá trình sao chép được coi là hoàn tất. Sau đó, hệ điều hành sẽ ở chế độ nền tiếp tục ghi các tệp vào đĩa.
Việc bạn có các tệp bị hỏng khiến tôi nghi ngờ rằng bạn có thể đã xóa ổ đĩa exfat quá sớm. Bạn có thể đã thực sự tháo ổ đĩa của mình sau khi hệ thống thông báo rằng thao tác di chuyển của bạn đã bị hủy. Hệ thống cho biết như vậy, nhưng trên thực tế, các thao tác ghi vật lý có thể vẫn đang diễn ra trong nền dựa trên bộ nhớ đệm mà tôi đã giải thích ở trên.
Đây là lý do chính tại sao bạn luôn cần rút ổ đĩa của mình sau khi đã ngắt kết nối chúng thông qua phần mềm. Nếu lần đầu tiên bạn thử ngắt kết nối thông qua phần mềm, hệ thống sẽ cảnh báo bạn nếu thao tác xóa vật lý chưa an toàn, xóa bộ nhớ cache và cho bạn biết khi nào an toàn để tháo ổ đĩa.
Khuyến nghị: ưu tiên sao chép hơn là di chuyển một tập hợp lớn các tệp trước, sau đó xóa nguồn sau khi sao chép xong. Nếu bạn hủy, tất cả các tệp nguồn vẫn ở đó, không bị ảnh hưởng.