Làm thế nào để tải xuống một tập tin từ dòng lệnh? qua ssh?


21

Tôi muốn tải tập tin từ máy chủ từ xa xuống ổ đĩa cục bộ của mình và thực hiện nó từ dòng lệnh. Tôi cũng muốn có thể làm điều này qua SSH. Tôi có thể làm cái này như thế nào?

Lưu ý: máy chủ từ xa là Ubuntu, cục bộ là Mac OS X

Câu trả lời:


29

Sử dụng scp-command, nó chạy trên SSH. Thí dụ:

scp username@remote.host:/path/to/file localfile

Nó cũng hoạt động theo cách khác

scp localfile username@host:/path/remotefile

Tên người dùng, đường dẫn và tên tệp có thể được bỏ qua (nhưng không phải là :!).

Như Iain đã nói, SFTP cũng hoạt động, nhưng tôi có xu hướng ủng hộ việc sử dụng giống như scpcủa nó cp.


Ít phổ biến hơn Tôi chắc chắn, và sửa lỗi cho tôi nếu tôi sai, nhưng tôi nghĩ scp cũng hoạt động từ xa đến xa, nếu bạn thực sự cần: scp username@remote1:/path/to/file username@remote2:/path/to/file
JMD

bạn có thể sao chép thư mục?
Andrew

đã tìm ra nó ... -r cũng sao chép các thư mục
Andrew

Tôi khuyên bạn nên thêm -ptùy chọn khi sao chép tệp hoặc thư mục với scp. Nó cũng sao chép các thuộc tính tệp (dấu thời gian và cờ). Tôi thấy tôi muốn -pthường xuyên hơn tôi không muốn nó!
joeytwiddle

Bạn cũng có thể định tuyến từ xa đến từ xa thông qua localhost bằng -3cờ: scp -3 jeff@firsthost.com:/files/file1.zip brad@secondhost.com:/archivesĐiều này hữu ích nếu bạn cần sử dụng khóa riêng để truy cập vào cả hai máy chủ chỉ tìm thấy trên localhost: scp -3i /local/path/to/.ssh/private_key dan@host1:/path/to/file.txt miri@host2:/path/to/upload/dir/Thanh tiến trình bị vô hiệu hóa cho -3
Dan Sandland

3

Bạn cũng có thể sử dụng rsynccho nó. Nó có thể hoạt động trên SSH.


rsync -avvPlà mục ưa thích của tôi đối với các tệp và / hoặc thư mục, nhưng có một nhược điểm: nó cần được cài đặt trên máy từ xa.
joeytwiddle

Nếu bạn gặp sự cố khi kết nối, bạn có thể cần phải vượt qua -e sshđể báo cho rsync kết nối qua ssh.
joeytwiddle

3

Tôi sử dụng SFTP cho việc này. Đó là dòng lệnh và sử dụng bảo mật tương tự như SSH.


1

Nếu bạn không thể sử dụng scphoặc SFTP, bạn có thể sử dụng tarqua SSH:

tar cf - . | ssh otherhost "cd /mydir; tar xvf -"

Điều này cũng tốt nếu bạn có các tệp thưa thớt mà nếu không sẽ "nổ".

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.