两台linux主机如何传文件
两台linux主机如何传文件详细介绍
在 Linux 系统中,两台主机之间传输文件有多种常用方法,以下是最常见的几种:
1. 使用 scp(安全复制)
scp(Secure Copy)基于 SSH 协议,是最基础的安全文件传输工具,适合小文件或简单传输场景。
命令格式:
bash
选项 本地文件路径 用户@远程主机IP:远程目标路径
选项 用户@远程主机IP:远程文件路径 本地目标路径
常用选项:
-r:递归复制目录(传输文件夹时必须加)-P:指定 SSH 端口(默认 22,若远程 SSH 端口非 22 需显式指定)-v:显示传输细节(调试用)
示例:
bash
/local/path/file.txt user@192.168.1.100:/home/user
user@192.168.1.100:/home/user/doc ./
2. 使用 rsync(增量同步)
rsync 是更高效的文件同步工具,支持增量传输(仅传输变化的部分)、压缩、保留文件属性(如权限、时间戳),适合大文件或频繁更新的目录同步。
命令格式:
bash
选项 本地文件/目录路径 用户@远程主机IP:远程目标路径
选项 用户@远程主机IP:远程文件/目录路径 本地目标路径
常用选项:
-r:递归复制目录-a:归档模式(保留文件属性,等同于-rlptgoD)-v:显示详细传输过程-z:压缩传输(减少网络流量)--delete:同步时删除远程目标中多余的文件(仅在目录同步时使用)
示例:
bash
/local/dir user@192.168.1.100:/remote/dir
user@192.168.1.100:/remote/dir /local/dir
3. 使用 sftp(交互式文件传输)
sftp(SSH File Transfer Protocol)提供交互式命令行界面,适合需要手动操作(如查看、上传、下载)的场景。
操作步骤:
- 连接远程主机:
bashuser@远程主机IP - 常用命令:
put 本地文件:上传本地文件到远程get 远程文件:下载远程文件到本地ls:查看远程目录文件lls:查看本地目录文件cd 远程路径:切换远程目录lcd 本地路径:切换本地目录exit:退出连接
4. 使用 sshfs(挂载远程目录)
sshfs 可以将远程主机的目录直接挂载到本地文件系统,实现 “本地似的” 文件操作(需安装 sshfs 工具)。
操作步骤:
- 安装
sshfs(若未安装):
bashsshfsyum sshfs
- 挂载远程目录:
bash~/remote_mountsshfs user@远程主机IP:/remote/dir ~/remote_mount reconnect
- 像操作本地文件一样读写
~/remote_mount目录。 - 卸载目录:
bashfusermount ~/remote_mount
注意事项
- 确保两台主机的 SSH 服务正常运行(默认端口 22),若远程主机修改过 SSH 端口,需在命令中显式指定(如
-P 2222)。 - 传输大文件时,推荐使用
rsync -az(压缩 + 增量)或scp(简单直接)。 - 若网络不稳定,
rsync的增量传输可避免重复传输完整文件。