có cái --preserve=tất cả
tùy chọn để cp
; xem người đàn ông cp
.
Nhưng tôi khuyên bạn nên sử dụng rsync
thay vì cp
; nó linh hoạt hơn nhiều và thật dễ dàng để làm cho nó giữ dấu thời gian và chỉ sao chép các tệp mới hơn. Nó có một số đường cong học tập với tất cả các tùy chọn mà nó hỗ trợ, nhưng cũng rất đáng để đi sâu vào điều đó.
Trường hợp sử dụng bình thường trông như thế này:
rsync -n -av /some/where/sourcedir .
Điều này sao chép đệ quy nguồn thư mục đến thư mục hiện tại dưới dạng thư mục con sourcedir/
. Nó sẽ không chạm vào các tệp đã có và có cùng dấu thời gian/nội dung. Các -N
tùy chọn có nghĩa là nó chỉ chạy khô nên bạn có thể xem nó sẽ làm gì (cùng với -v
vì dài dòng). Một khi bạn hài lòng với những gì nó sẽ làm, hãy chạy nó mà không cần -N
:
rsync -av /some/where/sourcedir .
Bạn có thể gọi nó nhiều lần; nếu nó không còn làm gì nữa, thì nó đã hoàn thành tốt đẹp và thực sự.
Bạn cũng có thể xóa bỏ các tệp không còn trong cây thư mục nguồn với --xóa bỏ
:
rsync -av --delete /some/where/sourcedir .
Nếu bạn thêm một dấu gạch chéo vào đường dẫn nguồn, nó sẽ không tạo ra một sourcedir/
thư mục con trên đích, nhưng sao chép nó trực tiếp vào thư mục con đó. Cùng với --xóa bỏ
, nó tạo một bản sao 1:1 của cây đó trong thư mục hiện tại, đồng thời xóa mọi thứ không có trong cây con nguồn:
rsync -av --delete /some/where/sourcedir/ .
Một lần nữa, thêm -N
để xem những gì nó sẽ làm. Nói chung, tôi khuyên bạn nên luôn luôn sử dụng -N
đầu tiên để xác nhận rằng nó sẽ làm những gì bạn muốn nó làm.
Có rất nhiều lựa chọn khác (như --loại trừ=
); xem người đàn ông rsync
.