SSH 进行本地文件的交互
使用 SSH 进行本地文件的交互传输通常可以通过以下几种方式实现:
# scp 命令进行文件传输
scp 是 SSH 的一部分,用于安全地复制文件到远程服务器或从远程服务器下载文件到本地。其基本语法如下:
- 传输文件到远程服务器:
scp /path/to/local/file username@remote_host:/path/to/remote/directory
1
- 从远程服务器下载文件到本地:
scp username@remote_host:/path/to/remote/file /path/to/local/directory
1
- 传输目录到远程服务器(递归模式 -r):
scp -r /path/to/local/directory username@remote_host:/path/to/remote/directory
1
# 将本地文件 `/home/user/file.txt` 上传到远程服务器 remote_host 上的 `/home/username/` 目录:
scp /home/user/file.txt username@remote_host:/home/username/
# 从远程服务器 remote_host 下载文件 /home/username/file.txt 到本地目录 /home/user/:
scp username@remote_host:/home/username/file.txt /home/user/
1
2
3
4
2
3
4
# rsync 进行增量文件传输
rsync 是一个高效的文件同步工具,它支持增量传输和压缩,特别适合大文件和目录的传输
- 传输文件到远程服务器:
rsync -avz /path/to/local/file username@remote_host:/path/to/remote/directory
1
- 从远程服务器下载文件到本地:
rsync -avz username@remote_host:/path/to/remote/file /path/to/local/directory
1
- 传输整个目录(包含子文件):
rsync -avz /path/to/local/directory username@remote_host:/path/to/remote/directory
1
rsync 的优势是支持断点续传和增量传输,如果文件没有变化,传输将被跳过
# sftp 进行文件传输
# SSHFS 挂载远程目录
SSHFS允许你将远程服务器的目录通过 SSH 挂载为本地文件系统,使你可以像操作本地文件一样操作远程文件
- 安装 sshfs:
sudo apt-get install sshfs - 挂载远程目录:
sshfs username@remote_host:/path/to/remote/directory /path/to/local/mountpoint - 卸载远程目录:
fusermount -u /path/to/local/mountpoint
# 总结
- scp: 快速简单的文件传输工具
- rsync: 适用于大量文件或需要增量传输的情况
- sftp: 用于交互式文件管理和传输
- sshfs: 将远程文件系统挂载为本地文件系统,方便文件管理
选择合适的工具根据你的需求和文件传输场景进行操作
上次更新: 2025/10/09, 23:53:03