PSCP:将整个文件夹(Windows)上传到Linux


36

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

我试过了:

pscp -i C:\sitedeploy\abt-keypair.ppk includes\* root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/*

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

pscp -i C:\sitedeploy\abt-keypair.ppk includes\ root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/

引发错误:“ scp:包括:不是常规文件”

pscp -i C:\sitedeploy\abt-keypair.ppk includes root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes

引发错误:“ scp:包括:不是常规文件”


4
您尝试添加-r吗?
Pablo Castellazzi

Answers:


36

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

pscp -i C:\sitedeploy\abt-keypair.ppk includes\* root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/

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

pscp -r -i C:\sitedeploy\abt-keypair.ppk includes\ root@mysite.com:/usr/local/tomcat/webapps/ROOT/

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


6

免责声明:

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

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


5

如果要复制目录及其内容,则无需提供目标文件说明。例如,仅使用目录名称。

pscp  -i C:\sitedeploy\abt-keypair.ppk includes\* root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/

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

pscp -r -i C:\sitedeploy\abt-keypair.ppk includes\ root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.