linux - 从 Windows Server 到 Linux 主机的 SCP
问题描述
我正在尝试使用 PowerShell 将压缩文件从共享驱动器传输到 Linux 主机。但是,当我使用
scp \\path\to\compressed\file.zip user@linuxhost:/tmp
整个路径被复制到 Linux 主机上的 tmp 目录。
知道如何在没有附加完整路径的情况下仅传输 filename.zip 吗?
pscp 有效,但不适用于我为无密码登录生成的密钥。
解决方案
使用完整的目标路径:
scp \\path\to\compressed\file.zip user@linuxhost:/tmp/file.zip
假设您将源文件路径作为用户输入,您可以单独获取文件名Split-Path
:
function Copy-TmpItem
{
param(
[ValidateScript({Test-Path $_ -PathType Leaf})]
[Parameter(Position = 0, Mandatory = $true)]
[string]$Path
)
$filename = Split-Path $Path -Leaf
scp "'$Path'" "user@linuxhost:'/tmp/$filename'"
}
推荐阅读
- c# - ASP:NET Core MVC 返回 503
- nginx - nginx 反向代理可以为每个端点隔离缓存吗?
- cytoscape.js - Cytoscape中文本背景填充的不同填充?
- azure - Azure 网关 VPN IP 与实际公共 IP 不同
- mysql - 使用 chpasswd 准备语句
- javafx - JavaFX 部署:无法启动 JVM
- laravel - 作业内作业的批处理或链接
- firebase - firebase_crashlytics 与 Flutter 的集成无法正常工作 我们将监听您的应用程序以与我们的服务器进行通信
- yarnpkg - Yarn 将单个包安装到单个工作区
- php - 谷歌支付 UPI 集成在 codeigniter