2008-10-01 29 views

Trả lời

6

Theo cp trang người cp -a cũng giống như cp -dpR đó là

-p = preserve mode,ownership,timestamps 
-R = recursive 
-d = no dereference and preserve links 

OS X tương đương sẽ được

cp -pPR

-p = preserve 
-R = recursive 
-P = no symbolic links are followed -- can be added but this is the default behavior 

Điều duy nhất bị thiếu là -d mà tôi nghĩ là hành vi mặc định nhưng tôi không tích cực.

Tôi chưa bao giờ sai lầm với ditto

Edit - @SoloBold

-L sau liên kết tượng trưng. -p KHÔNG theo các liên kết tượng trưng. OS X (ít nhất là 10.4) không có tùy chọn -d.

đó là sự khác biệt lớn.

+1

cp -pPR nên thực hiện công việc, tối thiểu là 10.5. –

+0

Điều này cũng giống như trong 10.4 – Simurr

+0

http://www.westwind.com/reference/os-x/commandline/files-folders.html#ditto –

0

Như j04t chỉ ra rằng nên cp -pR

Trên OS X, bạn sẽ làm gì

cp -dRL src target 

cp bảo tồn các nguồn tài nguyên trong phiên bản mới hơn của OS X (là nó 10,3 khi điều đó xảy ra?)

Hey d là kinda giống như một p up upownown, right;)

1

Từ Linux cp (1) :

-a, --archive giống như -dpR

đó là khó hiểu, vì -d dường như là tương đương với -P. Dù sao, OSX có -p và -R vì vậy bạn chỉ có thể sử dụng điều đó.

+0

Từ trang người dùng OS X: "Các liên kết tượng trưng luôn được theo sau trừ khi cờ -R được đặt, trong trường hợp các liên kết tượng trưng không được theo dõi." Điều ngược lại với cách Linux hoạt động. – wprl

2

Cá nhân tôi sử dụng rsync -a (hoặc bất kỳ thông số rsync nào được gọi). Hai lý do của tôi là: Tôi đã biết làm thế nào để làm điều này, và tôi cần kịch bản của tôi để được di động trên Linux/BSD/Solaris. Ngoài ra còn có một số hệ thống tệp nơi rsync hiệu quả hơn cp.

Xin lỗi đó không phải là câu trả lời trực tiếp, tôi đã sử dụng ditto trên BSD nhưng không có bất kỳ gotchas nào cho bạn không có trong trang hướng dẫn.

0

có sự khác biệt giữa ditto và cp là khi nguồn là thư mục, cp tạo thư mục có tên đó trên đích, nhưng ditto chỉ sao chép nội dung. Cẩn thận!

1

Nếu bạn đang sử dụng như trên, bạn nên biết rằng nó di chuyển các nội dung một chút khác nhau từ cp -a khi nói đến các thư mục:

ditto foo bar 

sẽ di chuyển các nội dung của foo vào thanh (kết quả thanh/file1, quán bar/file2 ..)

cp -a foo bar 

sẽ di chuyển foo/vào thanh/(dẫn đến quán bar/foo/file1, quán bar/foo/file2, ..)

Ngoài ra: OSX cp tại suppor t cp -a.

Các vấn đề liên quan