在Linux中上传文件到服务器常用scp、rsync和sftp命令。1. scp适用于小文件传输,语法为“scp [本地路径] [用户@IP:目标路径]”,支持递归上传目录(-r)和指定端口(-P)。2. rsync适合大文件或增量同步,常用参数-a(归档模式)、-v(显示过程)、-z(压缩传输),支持断点续传和通过非标准端口传输(-e 'ssh -p 端口')。3. sftp提供交互式操作,连接后可用put上传单个文件,mput批量上传,lcd切换本地目录,cd切换远程目录。4. 注意事项包括确保网络通畅、SSH服务正常、具备写入权限,推荐使用密钥认证提升安全性和效率,大文件传输建议结合screen防止中断。根据场景选择:scp简单直接,rsync功能强大,sftp适合手动操作。

在Linux中,把文件从本地上传到服务器通常使用基于SSH的安全传输命令。最常用的方法是 scp 和 rsync,它们都支持加密传输,安全可靠。下面详细介绍这些命令的使用方法。
1. 使用 scp 命令上传文件
scp(secure copy)是最常用的文件上传命令,语法简单,适合小文件或一次性传输。
基本语法:- scp [本地文件路径] [用户名@服务器IP:目标路径]
- 上传本地文件到远程服务器:
scp /home/user/file.txt root@192.168.1.100:/root/ - 上传整个目录(加 -r 参数):
scp -r /home/user/myfolder root@192.168.1.100:/root/backup/ - 指定端口(如果SSH不是默认22端口):
scp -P 2222 /home/user/file.txt root@192.168.1.100:/tmp/
- 执行后会提示输入远程用户的密码。
- 确保本地和服务器之间网络通畅,SSH服务正常运行。
2. 使用 rsync 同步上传文件
rsync 更适合大文件或需要增量同步的场景,支持断点续传和差异同步。
基本语法:- rsync [选项] [源路径] [用户名@服务器IP:目标路径]
- 上传文件并显示进度:
rsync -avz /home/user/data.log root@192.168.1.100:/root/ - 上传目录并保持同步:
rsync -avz /home/user/project/ root@192.168.1.100:/root/project/ - 通过非标准端口上传:
rsync -avz -e 'ssh -p 2222' /home/user/file.txt root@192.168.1.100:/tmp/
- -a:归档模式,保留权限、时间等属性
- -v:显示详细过程
- -z:压缩传输,加快速度
3. 使用 sftp 交互式上传
sftp 是交互式文件传输工具,适合需要手动操作多个文件的情况。
操作步骤:- 连接服务器:
sftp root@192.168.1.100 - 进入本地目录:
lcd /home/user - 进入远程目录:
cd /root - 上传单个文件:
put file.txt - 上传多个文件:
mput *.log - 退出:
exit
4. 注意事项
- 确保你有远程服务器的登录权限和写入目标目录的权限。
- 建议使用密钥认证替代密码登录,提升效率和安全性。
- 大文件传输建议使用 rsync 或配合 screen 防止中断。
- 防火墙或SELinux可能影响文件写入,注意检查服务器配置。










