使用 SCP 命令(最常用)
# 基本语法
scp [本地文件路径] [用户名]@[服务器IP]:[目标路径]
# 示例:上传单个文件
scp /path/to/local/file.txt root@192.168.1.100:/path/to/remote/
# 上传整个目录
scp -r /path/to/local/directory root@192.168.1.100:/path/to/remote/
使用 SFTP
# 连接服务器
sftp username@server_ip
# 常用命令
put local_file.txt # 上传单个文件
put -r local_directory # 上传整个目录
get remote_file.txt # 下载文件
ls # 列出远程文件
pwd # 显示当前远程目录
使用 rsync(适合大文件)
# 基本语法
rsync -avz [本地文件路径] [用户名]@[服务器IP]:[目标路径]
# 示例
rsync -avz /path/to/local/ root@192.168.1.100:/path/to/remote/
使用 FileZilla 等图形界面工具
- 下载安装 FileZilla
- 输入服务器信息:
- 主机:服务器IP
- 用户名:服务器用户名
- 密码:服务器密码
- 端口:22(默认)
- 连接后可以直接拖拽文件上传
使用 Git(适合代码文件)
# 在服务器上初始化仓库
git init --bare
# 在本地添加远程仓库
git remote add origin username@server_ip:/path/to/repo.git
# 推送代码
git push origin master
使用云存储服务
-
阿里云 OSS
-
腾讯云 COS
-
七牛云存储
-
又拍云存储
注意事项
-
确保有正确的权限
-
大文件建议使用 rsync
-
注意网络安全性
-
建议使用密钥认证
-
注意文件路径的正确性
安全建议:
-
使用 SSH 密钥而不是密码
-
设置适当的文件权限
-
使用加密传输
-
定期备份重要数据
常见问题解决:
权限问题:
# 修改文件权限
chmod 755 filename
连接超时:
# 增加超时时间
scp -o ConnectTimeout=60 file.txt user@server:/path/
断点续传:
# 使用 rsync 的 --partial 选项
rsync -avz --partial /path/to/file user@server:/path/
压缩传输:
# 使用 -C 选项启用压缩
scp -C file.txt user@server:/path/
选择合适的方法取决于:
-
文件大小
-
传输频率
-
安全性要求
-
网络环境
-
使用便利性
建议:
-
小文件:使用 SCP 或 SFTP
-
大文件:使用 rsync
-
代码:使用 Git
-
需要图形界面:使用 FileZilla
-
需要云存储:使用云存储服务