windows上传文件至Linux服务器
方式一:使用SCP命令
介绍:SCP(Secure Copy Protocol)是一种基于SSH的文件传输协议,适用于单个文件或目录的传输
步骤:
确保Linux服务器已启用SSH服务
shellsudo systemctl status ssh
如果未安装SSH,通过下面命令安装
shellsudo apt-get update sudo apt-get install openssh-server检查防火墙,确保允许SSH
shellsudo ufw allow ssh sudo ufw reload其他命令
shell# 启动 SSH 服务 sudo systemctl start ssh # 设置 SSH 开机自启动 sudo systemctl enable ssh # 取消 SSH 开启自启动 sudo systemctl disable ssh
windows命令行执行下面命令
上传单个文件
shellscp "D:\\__UNI__3006FD1__20250918143051.apk" root@你的服务器ip:/var/nginx/resources/carb_ignite/apk/上传整个文件夹(加上 -r 参数)
shellscp -r "D:\\data" root@你的服务器ip:/var/nginx/resources/carb_ignite/apk/注意:不管是上传单个文件还是文件夹,windows的路径要么用正斜杠 / 或者 反斜杠 \\ ,别用单个反斜杠\,否则上传到服务器上的文件就成了 D:\__UNI__3006FD1__20250918143051.apk 这种完整的路径的样子了
输入Linux服务器密码后,文件上传成功,下面图片中windows文件路径不对,应该是单正斜杠或者双反斜杠


方式二:使用工具WinSCP
SCP常用操作
1、上传本地文件到Linux服务器:上述已表述,不赘述
2、从Linux服务器上下载文件
场景举例:将服务器上 /var/logs/app.log 文件下载到本地D盘下
代码示例
shellscp root@服务器ip:/var/logs/app.log D:\
3、从Linux服务器上下载整个目录(加上 -r 参数)
场景举例:将服务器上 /var/logs 文件夹下载到本地D盘下
代码示例
shellscp root@服务器ip:/var/logs D:\
'scp' 不是内部或外部命令,也不是可运行的程序或批处理文件。
问题可能出现的原因
- 原因一:系统中未安装支持SCP的软件,如OpenSSH、Git Bash或PuTTY
- 原因二:对应工具的安装路径未添加到环境变量中
解决方案
- 方案一:确保支持SCP的软件安装成功
- 方案二:对应工具的安装路径(如git:git安装路径\usr\bin)添加到环境变量中
- 方案三:此外可以直接通过 PowerShell 或 Git Bash使用SCP命令,从而避免环境变量配置的问题