插件窝 干货文章 Linux如何从一台服务器传文件到另一台服务器

Linux如何从一台服务器传文件到另一台服务器

文件 remote 传输 远程 515    来源:    2025-05-11

在Linux系统中,有多种方法可以在服务器之间传输文件。以下是常用的几种方式及其详细说明:


1. SCP (Secure Copy)

基于SSH协议的安全文件传输,适合中小文件。

基本语法:

scp [选项] 源文件 目标路径

示例: - 本地 → 远程
bash scp /local/path/file.txt user@remote:/remote/path/ - 远程 → 本地
bash scp user@remote:/remote/path/file.txt /local/path/ - 远程 → 远程
bash scp user1@remote1:/path/file.txt user2@remote2:/path/

常用选项: - -P 端口:指定SSH端口(默认22)。 - -r:递归传输目录。 - -C:启用压缩。


2. rsync

增量传输工具,适合大文件或定期同步,效率高。

基本语法:

rsync [选项] 源路径 目标路径

示例: - 同步本地到远程:
bash rsync -avz /local/path/ user@remote:/remote/path/ - 远程到本地:
bash rsync -avz user@remote:/remote/path/ /local/path/

常用选项: - -a:归档模式(保留权限、时间等)。 - -v:显示详细过程。 - -z:压缩传输。 - --delete:删除目标端多余文件(谨慎使用)。


3. SFTP (SSH File Transfer Protocol)

交互式文件传输,适合需要浏览目录的场景。

连接远程服务器:

sftp user@remote

常用命令: - put local_file:上传文件。 - get remote_file:下载文件。 - lscd:浏览远程目录。 - llslcd:浏览本地目录。


4. wget/curl

直接从URL下载文件到目标服务器。

示例:

wget https://example.com/file.txt -O /path/save.txt
curl -o /path/save.txt https://example.com/file.txt

5. nc (netcat)

通过TCP/UDP传输文件(需两端安装netcat)。

接收端:

nc -l 端口 > 接收文件

发送端:

nc 接收端IP 端口 < 发送文件

6. NFS/FTP

  • NFS:挂载远程目录到本地(需配置服务端)。
  • FTP:使用ftpsftp客户端(需安装FTP服务)。

选择建议:

  • 快速传输小文件scp
  • 大文件或定期同步rsync
  • 交互式操作sftp
  • 无SSH权限:考虑nc或FTP(安全性较低)。

注意事项:

  1. 权限:确保目标路径可写,用户有权限。
  2. 防火墙:开放相关端口(如SSH的22端口)。
  3. 安全性:优先使用SSH协议(SCP/rsync/SFTP),避免明文传输。

根据实际需求选择最适合的方法即可。