cp nói rằng nó đang xóa các tập tin, nhưng không nên


10

Tạo bản sao lưu nhanh:

root@guilmon:/mnt/backup/guilmon/home# cp -uvfrx --preserve=all /home/rena/ .

Đầu ra rất đáng ngạc nhiên - một số tệp được cho là đã bị xóa!

removed ‘./rena/dev/lua/conkybitcoin/conkybitcoin.lua’

Các tập tin bị xóa dường như là ngẫu nhiên và không thay đổi. Tại sao nó nói nó loại bỏ chúng? Thậm chí xa lạ, nó dường như không thực sự xóa tệp đó (cũng không phải nguồn). Chuyện gì đang xảy ra vậy?

Câu trả lời:


15

cpvới các tùy chọn --force--verbose( -f-vtrong dòng lệnh của bạn) xuất ra thông báo "đã xóa" bất cứ khi nào nó xóa một tệp đích trước khi sao chép nó. ( --forceyêu cpcầu xóa tệp đích nếu không thể mở được trước khi thử lại bản sao.)

Trong ví dụ của bạn, điều đó có nghĩa là ./rena/dev/lua/conkybitcoin/conkybitcoin.luakhông thể mở được để viết, vì vậy hãy cpxóa nó và sao chép lại từ đó /home/rena.


Tôi hiểu rồi. Vì vậy, câu hỏi là tại sao nó không thể được mở ra ...
Rena

Có phải nó chỉ đọc?
Stephen Kitt

1
Câu hỏi thực sự là, có phải nó (tệp đã có sẵn trong thư mục đích) chỉ đọc trước khi bạn chạy cplệnh?
G-Man nói 'Phục hồi Monica'

Cả hai đều là chế độ 0644 và tôi đã chạy cp với quyền root, vì vậy sẽ ổn ở đó. Điểm đến hiện tại cũng đã ổn vì tôi đã sử dụng cùng một lệnh để sao chép tất cả /homevào đĩa sao lưu ngày hôm qua sau khi tạo một hệ thống tệp mới, trống trên đó. btrfs scrubbáo cáo không có lỗi trên một trong hai đĩa.
Rena
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.