Làm cách nào để sao chép một tập tin giữa hai máy Linux?


3

Tôi đang kết nối từ máy chủ Linux (Máy 1) đến máy chủ Linux khác (Máy 2) bằng PuTTY.

Sử dụng WinSCP, tôi đã sao chép một zip tập tin từ đĩa cứng của tôi trong Windows vào thư mục chính của Máy 1.

Làm cách nào để sao chép tệp zip này từ thư mục build / test_builds của Máy 2?


1
bạn có thể sử dụng SCP nhưng bạn không biết cách sao chép vào một thư mục cụ thể?
Brian

ftp, sftp là một vài người khác

Câu trả lời:


12
scp sourcefile ssh://[user]@[hostname]/[destination path]

Tôi nghĩ rằng điều này sẽ hoạt động với mọi hộp linux có bật ssh, có thể bạn sẽ cần bật sao chép an toàn (scp)

Một cách tốt hơn để viết này có thể là:

scp source destination

nguồn và đích có thể là:

  • đường dẫn tuyệt đối hoặc tương đối đến tập tin (ví dụ. /tmp/foo.txt hoặc là ./foo.txt )

  • đường dẫn tệp ssh (ở dạng ssh: // [user] @ [machine] / [path]

Bạn cũng có thể thực hiện các bản sao giữa machine1 và machine2, trong khi đang ở trên máy3 (với điều kiện bạn đã có quyền truy cập - ví dụ: đăng nhập vào từng máy) thông qua:

scp ssh://user@machine1/path ssh://user@machine2/path

Hi vọng điêu nay co ich.


Cảm ơn bạn, xin vui lòng cho tôi biết tên máy chủ này đang giới thiệu Máy 1 hay Máy 2 ??

tên máy chủ là máy đích, nếu bạn đang thực thi lệnh trên Machine1 sẽ sao chép tệp của Machine1 sang Machine2

Ngoài ra, nếu bạn cần chạy một bản sao và không sử dụng cổng mặc định là 22, bạn có thể sử dụng cú pháp sau: scp -P [portNum] [đường dẫn tệp nguồn] ssh: // [user] @ [hostname] / [thư mục đích con đường]
ammills01

1
rsync -r --progress SRC DST

hoạt động cũng tốt đẹp: dịch lại, thanh tiến trình


1

Theo người đàn ông, tôi đã thay đổi lệnh scp như sau và nó đã làm việc cho tôi.

scp user@sourceservername:sourcefilepath user@destservername:destdirectory

Hy vọng điều này sẽ giúp được ai đó.


0

Để chuyển giữa hai hộp linux, hãy sử dụng scp như người dùng đã đề xuất ở trên. Cú pháp của anh ấy là một chút cho ssh mặc dù. Với định dạng scp là

scp [options] source destination

Có sẵn trong các trang người đàn ông man scp

cho bạn cú pháp từ máy 1 là

scp /path/to/file.zip user@ip.of.machine.2:port/path/to/destination/dir/

cổng mặc định là 22


1
scp / path / to / file user@ip.of.machine.2: / path / to / Destination / dir / hoạt động với tôi! không có cổng yêu cầu.
emecas

Xác định cổng bằng cú pháp trên không hiệu quả với tôi. Thay vào đó, tôi đã thêm công tắc -P ngay sau scp và xác định số cổng theo cách đó. scp -P portNum /path/to/file.zip user@ip.of.machine.2: / path / to / Destination / dir /
ammills01

Vâng, không có định nghĩa cổng trong tôi. Như bạn đã tìm ra, để xác định cổng bạn cần -P tùy chọn (nằm trong man trang tôi đã đề cập).
Eric Fossum

-2
rsync -aPv --update /path/to/desire/file /path/to/destination/same_name_as_file

-a - chế độ lưu trữ, sự kết hợp của một số tùy chọn rsync khác hữu ích để sao lưu
-P - giống như --partial --progress
-v - --verbose


2
câu trả lời khác trong đó gợi ý rsync - bạn có thể giải thích và giải thích thêm?
bertieb
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.