通过 SSH 登录到远程服务器后,有几种常用方法可以快速下载远程服务器上的数据到本地:
1. 使用 scp
(简单可靠,适合单个或小批量文件)
scp
是基于 SSH 的文件传输工具,支持加密传输,简单方便。
语法:
scp user@remote:/path/to/file /local/path
示例:
scp user@192.168.1.100:/home/user/data.zip ~/Downloads/
说明:
- 将远程服务器的
/home/user/data.zip
下载到本地~/Downloads/
目录下。
下载整个目录:
scp -r user@remote:/path/to/directory /local/path
说明:-r
递归下载整个目录。
2. 使用 rsync
(高效,支持断点续传)
rsync
比 scp
更高效,支持增量传输,适合大数据量传输。
语法:
rsync -avz user@remote:/path/to/file /local/path
示例:
rsync -avz user@192.168.1.100:/home/user/data/ ~/Downloads/
说明:
-a
:保持文件权限等属性。-v
:显示详细过程。-z
:压缩传输,加快速度。
断点续传(可恢复中断的传输):
rsync -avz --partial user@remote:/path/to/largefile /local/path
3. 使用 sftp
(交互式,适合批量下载)
sftp
是安全文件传输协议,提供交互式环境,可批量下载。
连接服务器:
sftp user@remote
下载文件:
sftp> get /path/to/file
下载目录:
sftp> get -r /path/to/directory
4. 直接打包压缩后下载(适合大量小文件)
如果远程服务器上有大量小文件,直接下载会很慢,可以先压缩后再下载。
压缩远程文件夹:
tar -czvf data.tar.gz /path/to/data
下载压缩文件:
scp user@remote:/path/to/data.tar.gz /local/path
在本地解压:
tar -xzvf data.tar.gz
5. 使用 wget
(远程下载到本地,适合公网可访问资源)
如果远程服务器上的文件可通过 HTTP/HTTPS 访问,可以直接使用 wget
下载。
示例:
wget http://example.com/file.zip
6. 使用 netcat
(极快,适合局域网大数据传输)
在远程服务器和本地机器之间建立直接连接,速度极快。
在远程服务器打包并传输:
tar -czf - /path/to/data | nc -l 1234
在本地接收并保存:
nc remote_ip 1234 | tar -xzvf -
说明:
nc
是网络传输工具,配合tar
实现高速传输。
7. 使用 FileZilla
或 WinSCP
(图形界面,便于操作)
- 使用 SFTP 协议,连接远程服务器,支持拖拽下载文件。
- 适合不熟悉命令行的用户。
选择方法总结:
- 小文件或目录:
scp
- 大文件或目录,断点续传:
rsync
- 交互式批量传输:
sftp
- 大量小文件:压缩后使用
scp
或rsync
下载 - 局域网高速传输:
netcat
- 公网资源:
wget
- 图形化工具:
FileZilla
/WinSCP