上传文件到linux服务器命令
上传文件到linux服务器命令详细介绍
在 Linux 系统中,上传文件到服务器通常可以通过以下几种常用命令实现,具体取决于你的环境和需求:
1. 使用 scp 命令(安全复制,推荐)
scp(Secure Copy)基于 SSH 协议,支持加密传输,是最安全、便捷的文件上传方式。
语法:
bash
本地文件路径 用户名@服务器IP或域名:服务器目标路径
示例:
- 上传单个文件:bash
/本地路径/文件.txt user@192.168.1.100:/服务器路径/目标目录/ - 上传目录(需添加
-r参数):bash/本地路径/目录 user@192.168.1.100:/服务器路径/目标目录/ - 指定 SSH 端口(默认端口 22,若修改过端口需用
-P指定):bash/本地文件 user@服务器:目标路径
2. 使用 sftp 命令(交互式安全文件传输)
sftp 也是基于 SSH 的交互式文件传输工具,适合需要交互式操作(如查看文件、创建目录等)的场景。
步骤:
- 连接服务器:bash
user@服务器IP - 登录后,使用以下常用命令:
- 上传文件:
put /本地路径/文件.txt 服务器目标路径 - 上传目录:
put -r /本地目录 服务器目标目录 - 查看服务器文件:
ls - 切换服务器目录:
cd 目录
- 上传文件:
- 退出:
exit
3. 使用 ftp 命令(明文传输,不推荐)
ftp 协议不加密数据,安全性较低,仅在老旧环境中使用。
语法:
bash
服务器IP
登录后通过 put 本地文件 服务器路径 上传文件,操作类似 sftp,但传输过程不加密。
4. 使用 rsync 命令(高效同步,支持增量更新)
rsync 用于高效同步文件 / 目录,支持增量传输(仅传输变化的部分),适合大文件或频繁更新的场景。
语法:
bash
/本地路径/文件.txt user@服务器IP:/服务器目标路径/
-a:归档模式(保留权限、时间等属性)-v:显示详细信息-z:压缩传输-P:显示进度并支持断点续传
5. 通过 SSH 登录后使用 rz 命令(需安装 lrzsz 工具)
若服务器安装了 lrzsz 工具,可在 SSH 会话中直接上传文件:
- 安装工具(本地和服务器可能都需要,取决于终端):bash
lrzsz
yum lrzsz
- 登录 SSH 后,在命令行输入
rz,会弹出文件选择窗口,选择文件即可上传到当前目录。
注意事项
- 权限问题:确保服务器目标路径有写入权限,否则需用
sudo或切换到管理员用户。 - 密钥认证:推荐使用 SSH 密钥(
id_rsa.pub)代替密码登录,提升安全性(需提前将公钥添加到服务器~/.ssh/authorized_keys)。 - 端口限制:若服务器防火墙限制了 22 端口,需先确认端口是否开放(
scp/sftp/ssh通常使用 22 端口,ftp常用 21 端口)。
根据场景选择合适的工具,推荐优先使用 scp 或 rsync,兼顾安全与效率。