Cách sao chép tệp trên các máy tính bằng SSH và MAC OS X Terminal [đã đóng]


205

Tôi đang cố gắng sao chép các thư mục / tệp .profile, .rvm và .ssh của mình sang một máy tính mới và tiếp tục nhận được phản hồi "không phải là tệp thông thường". Tôi biết cách sử dụng các lệnh cpsshnhưng tôi không chắc cách sử dụng chúng để truyền tệp từ máy tính này sang máy tính khác.

Bất kỳ trợ giúp sẽ là tuyệt vời, cảm ơn!


8
mặc dù bạn đã có câu trả lời, nhưng tôi vẫn có thể giới thiệu superuser.com chứ?
KevinDTimm

Câu trả lời:


436

Bạn có thể làm điều này với scplệnh, sử dụng giao thức ssh để sao chép các tệp trên các máy. Nó mở rộng cú pháp cpđể cho phép các tham chiếu đến các hệ thống khác:

scp username1@hostname1:/path/to/file username2@hostname2:/path/to/other/file

Sao chép một cái gì đó từ máy này sang một số máy khác:

scp /path/to/local/file username@hostname:/path/to/remote/file

Sao chép một cái gì đó từ máy khác sang máy này:

scp username@hostname:/path/to/remote/file /path/to/local/file

Sao chép với số cổng được chỉ định:

scp -P 1234 username@hostname:/path/to/remote/file /path/to/local/file

1
Tôi nghĩ rằng việc OP sử dụng cụm từ 'cách sử dụng chúng để chuyển' có thể được viết lại thành 'cách sử dụng chúng để chuyển'. Wordy có lẽ, nhưng không sai lầm khủng khiếp.
Đánh dấu hiệu suất cao

2
@ Cao: ah thực sự. :) nhận thêm cà phê
Ether

2
Cảm ơn @Ether, nhưng thật không may, tôi tiếp tục nhận được phản hồi "không phải là tệp thông thường" cho các thư mục bắt đầu bằng '.' như thư mục .rvm tôi đang cố gắng chuyển, có mẹo gì không?
alvincrespo

1
đừng lo lắng về nó Tôi hiểu rồi! Tôi cần sử dụng -r (r cho đệ quy) để đưa vào toàn bộ cấu trúc thư mục. Cám ơn rất nhiều!
alvincrespo

1
Có, bạn có thể sử dụng -rđể đệ quy hoặc chỉ cần nén các tệp và nhắm mục tiêu vào zip.
Eric Holmes

14

Đầu tiên zip hoặc gzip các thư mục:
Sử dụng lệnh sau:

zip -r NameYouWantForZipFile.zip Foldertozip /

hoặc là

tar -pvczf BackUpDirectory.tar.gz / path / to / thư mục

để nén gzip, hãy sử dụng SCP:

scp username@yourserver.com: ~ / serverpath / public_html ~ / Máy tính để bàn


1

Bạn cũng có thể muốn xem rsync nếu bạn đang làm nhiều tệp.

Nếu bạn sẽ thực hiện nhiều thay đổi và muốn giữ đồng bộ thư mục và tệp của mình, bạn có thể muốn sử dụng hệ thống kiểm soát phiên bản như Subversion hoặc Git. Xem http://xoa.petdance.com/How_to:_Keep_your_home_directory_in_Subversion


1
Cảm ơn @Andy, chúng tôi đang sử dụng SVN tại đây trong công việc nhưng tôi vừa có một máy tính mới và muốn học cách làm mọi thứ thông qua dòng lệnh vì các chàng trai thích điều đó ở đây. Tôi cũng đang học cách yêu nó :)
alvincrespo
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.