Tại sao không có không gian trống trên phân vùng nguồn thay đổi trong khi mvv?


13

Tôi đang chạy mvđể di chuyển một thư mục (chứa nhiều tệp) từ phân vùng này sang phân vùng khác. Trong khi mvđang di chuyển từng tệp trong thư mục từng cái một, tôi nhận thấy rằng kích thước không gian trống của phân vùng nguồn không thay đổi, trong khi kích thước không gian trống của phân vùng đích đang giảm.

Tại sao nó hoạt động theo cách đó, thay vì tổng kích thước không gian trống của phân vùng nguồn và đích vẫn giữ nguyên?

Câu trả lời:


16

Như POSIX định nghĩa, mv sẽ sao chép tệp nguồn vào đường dẫn đích và nếu không có gì sai, tệp nguồn sẽ bị xóa:

  1. Hệ thống phân cấp tệp gốc trong source_file sẽ được sao chép dưới dạng phân cấp tệp gốc trong đường dẫn đích

  2. Hệ thống phân cấp tập tin bắt nguồn từ source_file sẽ bị xóa. Nếu điều này không thành công vì bất kỳ lý do nào, mv sẽ viết một thông báo chẩn đoán cho lỗi tiêu chuẩn, không làm gì thêm với source_file hiện tại và tiếp tục với bất kỳ source_files nào còn lại.

Nếu bạn di chuyển trên cùng một hệ thống tệp, bạn chỉ di chuyển mục nhập từ một vị trí trong hệ thống tệp sang vị trí khác.

Nó đảm bảo rằng bạn sẽ không mất tệp nguồn nếu xảy ra lỗi trong quá trình di chuyển.


16

Nó đang được bảo thủ và không xóa các tập tin cho đến khi bản sao thành công. Điều này làm cho nó dễ dàng hơn để phục hồi nếu có sự cố.


nhưng thư mục có nhiều tệp
Tim

7
@Tim: Nó không bắt đầu xóa các tệp nguồn cho đến khi tất cả các tệp đã được sao chép trên ổ đĩa đích. Nếu bạn cần di chuyển các tệp cùng một lúc, để không bao giờ có thêm "không gian" được sử dụng so với tệp lớn nhất, bạn cần xây dựng một vòng lặp để thực hiện việc này.
Warren Young

4
Bạn đã bao giờ thực hiện một động thái trong MS-Windows, và khoảng một nửa trong quá trình di chuyển, có điều gì đó không ổn. Cả nguồn và đích là một mớ hỗn độn, và bạn còn lại để sửa nó. Nếu bạn không phải là một người đam mê siêu cấp, thì có lẽ bạn chỉ cần xóa cả hai và học cách không làm điều đó một lần nữa.
ctrl-alt-delor 14/2/2015
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.