在Linux环境下进行远程文件传输,最普遍的做法是使用基于SSH协议的命令行工具。这类工具加密传输数据,操作简单,适合大多数服务器运维场景。下面介绍几种常用方式及其基本用法。

使用scp命令传输文件
scp是secure copy的缩写,它利用SSH连接在本地和远程主机之间复制文件。基本语法如下:
# 本地文件传到远程 scp /local/path/file.txt user@remote_host:/remote/path/ # 远程文件拉取到本地 scp user@remote_host:/remote/path/file.txt /local/path/ # 传输目录需要加 -r 参数 scp -r /local/dir user@remote_host:/remote/path/
其中user@remote_host为远程登录用户和地址,若SSH端口不是22,可用-P指定端口:
scp -P 2222 file.txt user@remote_host:/tmp/
使用rsync进行增量同步
rsync适合需要频繁同步或目录较大的情况,它只传输变化的部分。常见用法:
# 本地到远程同步 rsync -avz /local/dir/ user@remote_host:/remote/dir/ # 远程到本地 rsync -avz user@remote_host:/remote/dir/ /local/dir/
参数-a表示归档模式,-v显示过程,-z压缩传输。若端口不同,加-e "ssh -p 端口号"。
使用sftp交互式传输
sftp提供一个类似ftp的交互界面,但基于SSH。输入sftp user@remote_host后可用put上传、get下载:
sftp user@remote_host sftp> put local_file.txt sftp> get remote_file.txt sftp> exit
注意事项
- 确保远程主机开启SSH服务且网络可达
- 注意本地与远程路径权限,避免写入失败
- 大量小文件建议用rsync而非scp,效率更高
掌握上述Linux远程文件传输方法,就能在无图形界面的服务器环境中轻松完成文件交换任务。