Làm cách nào tôi có thể sao chép đệ quy các tệp mà không ghi đè các quyền hiện có?


9

Khi tôi sao chép tệp từ thư mục này sang thư mục khác, quyền truy cập thư mục sẽ được đặt lại (ví dụ: từ 0755 đến 0775) và điều này gây ra sự cố, buộc tôi phải quay lại và đặt lại quyền truy cập thư mục theo cách thủ công. Tôi hiện đang làmcp -r /source/directory /destination/directory

Tôi muốn sao chép tất cả các tệp và thư mục mới, nhưng không ghi đè quyền của các thư mục hiện có.

Câu trả lời:


5

Để duy trì các liên kết bạn có thể sử dụng cp( manpage cho cp ) với -dcờ, tương đương với --no-dereference --preserve=links.

Để kết hợp điều này với -p-Rcờ, bạn có thể sử dụng cờ lưu trữ -a.


7

Thêm cờ -p

cp -pR /source/dir /dest/dir

Từ man cp:

-p     same as --preserve=mode,ownership,timestamps

2

Của tôi ~/.bashrcđã được sửa đổi để chứa

alias cp='cp -i --preserve=all'

Điều này có nghĩa là khi tôi sử dụng cp, nó cũng sẽ nhắc trước khi ghi đè ( -i) và bảo toàn tất cả (ví dụ: chế độ, quyền sở hữu, dấu thời gian; và nếu có thể các thuộc tính bổ sung: bối cảnh, liên kết, xattr).

Bạn luôn có thể thay đổi nó thành modethay vì allnếu bạn thích, nhưng tôi thích có bí danh này để thay đổi mặc định cp.

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.