PSCP:上传整个文件夹,从 Windows 到 Linux

UpH*_*lix 43 linux windows putty scp upload

我正在使用 PSCP 将一些文件从 Windows 上传到 Linux。我一次上传一个文件就可以了。但是我有一些非常大的目录,我想一次上传整个目录。

我试过了:

pscp -i C:\sitedeploy\abt-keypair.ppk includes\* root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/*
Run Code Online (Sandbox Code Playgroud)

抛出错误:“pscp:远程文件规范/usr/local/tomcat/webapps/ROOT/includes/*:不是目录”

pscp -i C:\sitedeploy\abt-keypair.ppk includes\ root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/
Run Code Online (Sandbox Code Playgroud)

抛出错误:“scp:包含:不是常规文件”

pscp -i C:\sitedeploy\abt-keypair.ppk includes root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes
Run Code Online (Sandbox Code Playgroud)

抛出错误:“scp:包含:不是常规文件”

Der*_*rfK 45

两个问题:首先,* 不在目标端。其次,-r用于复制整个目录和子目录。

pscp -i C:\sitedeploy\abt-keypair.ppk includes\* root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/
Run Code Online (Sandbox Code Playgroud)

将本地includes\目录中的所有文件复制到.../includes/服务器上的目录中。

pscp -r -i C:\sitedeploy\abt-keypair.ppk includes\ root@mysite.com:/usr/local/tomcat/webapps/ROOT/
Run Code Online (Sandbox Code Playgroud)

includes\目录本身,包括所有文件和子目录,复制到.../ROOT/服务器上的目录(本地目录的内容将与任何现有.../ROOT/includes/目录合并。


小智 7

免责声明:

您不需要为此使用-i。它用于私钥文件身份验证。仅用于-r递归复制源文件。

您可能需要拖放方法,因为您使用的是 Windows。例如,您可以使用WINSCP 客户端


use*_*517 5

如果要复制目录及其内容,则无需为目标提供文件规范。例如,只需使用目录名称。

pscp  -i C:\sitedeploy\abt-keypair.ppk includes\* root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/
Run Code Online (Sandbox Code Playgroud)

如果要复制目录及其下面的所有内容,则可以使用-r

pscp -r -i C:\sitedeploy\abt-keypair.ppk includes\ root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/
Run Code Online (Sandbox Code Playgroud)