Câu trả lời:
cp -p
không lừa Đối với Linux :
-p
giống như--preserve=mode,ownership,timestamps
-p
Nguyên nhân cp bảo toàn các thuộc tính sau của mỗi tệp nguồn trong bản sao: thời gian sửa đổi, thời gian truy cập, cờ tệp, chế độ tệp, ACL, ID người dùng và ID nhóm, khi được phép.
Và đối với OS X :
-p
Nguyên nhân cp bảo toàn các thuộc tính sau của mỗi tệp nguồn trong bản sao: thời gian sửa đổi, thời gian truy cập, cờ tệp, chế độ tệp, ID người dùng và ID nhóm, theo sự cho phép của quyền. Danh sách điều khiển truy cập (ACL) và Thuộc tính mở rộng (EA), bao gồm các nhánh tài nguyên, cũng sẽ được giữ nguyên.
cp -p
không chỉ giữ nguyên dấu thời gian mà còn cả chế độ và quyền sở hữu và trên FreeBSD bên cạnh thời gian sửa đổi, nó còn bảo vệ »thời gian truy cập, cờ tệp, chế độ tệp, ACL, ID người dùng và ID nhóm, như được phép bằng quyền. «và trên OS X bổ sung» Thuộc tính mở rộng, bao gồm các nhánh tài nguyên «.
Khi sử dụng cp
từ GNU Coreutils , để chỉ lưu giữ dấu thời gian và không thuộc tính như id người dùng, id nhóm hoặc chế độ tệp, có --preserve
thể sử dụng một cách rõ ràng danh sách các thuộc tính sẽ được bảo tồn.
cp --preserve=timestamps source destination
Xin lưu ý rằng cú pháp này có thể không được hỗ trợ trên các Thông báo khác. Một cách khác có thể là sử dụng --times
tham số rsync
cần có trên hầu hết các cài đặt.
-p
không phải là câu trả lời chính xác. -p
giữ quyền sở hữu và chế độ là tốt. Mà có thể không muốn .. và không được hỏi trong câu hỏi.
Có ba lần trên một hệ thống tệp Unix, thời gian truy cập (atime), thời gian sửa đổi (mtime) và thời gian thay đổi inode (ctime). Bạn có thể thay đổi thời gian truy cập và thời gian sửa đổi bằng chương trình cảm ứng, ví dụ
bản sao cp chạm -r bản sao
Tuy nhiên, bạn không thể thay đổi thời gian thay đổi inode.
Gần đây tôi cần phải làm một cái gì đó tương tự nhưng thay vào đó sử dụng symlink. Để tạo liên kết tượng trưng và giữ dấu thời gian gốc:cp -ps src_file dst_symlink