Tôi muốn sao chép một thư mục từ nơi này sang nơi khác thông qua dòng lệnh


127

Tôi muốn sao chép một thư mục từ nơi này sang thư mục khác.

sudo cplà lệnh, nhưng sau đó tôi nên gõ gì? Điểm đến hay nguồn đầu tiên?


10
man cpgiúp gì không?
Portablejim

Câu trả lời:


198

Các -alá cờ có lẽ là những gì bạn đang tìm kiếm:

cp -a /path/from /path/to

Các -acờ bật hành vi đệ quy (mà cũng có thể được thực hiện với -Rcờ), và cũng sẽ cố gắng lưu giữ metadata như quyền sở hữu tập tin, cho phép, dấu thời gian liên kết, vv

Bạn chỉ cần sử dụng sudonếu bạn đang sao chép vào một vị trí không thuộc quyền sở hữu của người dùng hiện tại, nếu người dùng hiện tại không có quyền đọc các tệp đang được sao chép hoặc nếu bạn muốn giữ quyền sở hữu đối với các tệp không thuộc quyền sở hữu hiện tại người dùng.


4
Ngoài ra, như một quy tắc của ngón tay cái, nó luôn luôn như vậy [command] [source] [destination]. Này áp dụng cho mv, cp, ren.
Vineet Menon

1
@VineetMenon Có lẽ bạn có nghĩa là mvkhông ren.
jcollado

@jcollado: tôi đã thêm rồi mv!!
Vineet Menon

@VineetMenon Vâng, bạn nói đúng, tôi không thấy nó mvđã có trong danh sách. Dù sao, quan điểm của tôi là, theo như tôi biết, không có bất kỳ renlệnh nào (trừ khi bạn có bí danh hoặc một cái gì đó được đặt).
jcollado

1
@jcollado: haha ​​... đó là bí danh của tôi cho rename...: D
Vineet Menon

28

Nếu bạn muốn sao chép thư mục, vui lòng sử dụng lệnh dưới đây:

sudo cp -R Source_Folder Destination_Folder

Lệnh này cũng có thể được sử dụng để sao chép các tệp, bằng cách chỉ xóa "-R" được sử dụng để sao chép cấu trúc đệ quy của các thư mục bên trong (nếu có bất kỳ đường dẫn nào trong Source_Folder mà chúng tôi đã đề cập.)

Một ví dụ nữa:

sudo cp -R /var/www/* /home/test_user/

Xin vui lòng để lại nhận xét trong trường hợp có vấn đề.


7

Đối với thư mục sao chép qua thiết bị đầu cuối, bạn có thể sử dụng

cp -a /source/. /dest/

Tùy chọn -a là một tùy chọn đệ quy được cải thiện, bảo toàn tất cả các thuộc tính tệp và cũng giữ nguyên các liên kết tượng trưng.

Các . ở cuối đường dẫn nguồn là một cú pháp cp cụ thể cho phép sao chép tất cả các tệp và thư mục, bao gồm các tệp ẩn.

Một thay thế là rsync

rsync -r source/ destination

2

Tôi nghĩ cách tốt hơn là sử dụng gksu nautiluslệnh và bạn có thể sao chép bất cứ điều gì bạn muốn với GUI thông thường như bình thường.


1
Điều đó giả định rằng bạn đang sử dụng GUI chứ không phải CLI.
Phill Healey
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.