Linux系列:使用pscp在Linux主机和Windows主机之间传输文件

时间:2024-03-20 12:31:06

说明:本博文转载自“程序媛想事儿

首先下载pytty,解压开发现里面有plink.exe pscp.exe psftp.exe putty.exe puttygen.exe puttytel.exe等可执行文件,如果只是想要链接主机做一些操作那么使用putty.exe就可一,具体使用可以参见上面给出的链接,要想要上传下载文件,那么需要使用pscp.exe这个文件。


下面讲解使用pscp命令在Linux和Windows之间传输文件。


通过命令行进入pscp.exe所在的文件夹,直接输入pscp会看到如下提示:

PS:推荐像我一样将putty所在目录加入环境变量PATH中,省的每次都要进入目录才能传输文件。


       Linux系列:使用pscp在Linux主机和Windows主机之间传输文件

     

 常用命令选项解释如下:

-q:安静模式,传输文件时什么也不显示,否则会显示出文件的传输进度 

-P port:指定服务器的 SSH 端口,注意这个是大写字母 P,默认是 -P 22,如果你没修过主机的 SSH 端口22,就不用指定了 

-l user:指定以哪个用户的身份登录主机,用户名称也可以和主机名称写在一起,用@分割开,比如:[email protected] 

-pw passwd:指定登录时所用的口令为:passwd 

-C:表示允许压缩传输,提高传输速度


举几个例子:

1、c:\>pscp -C c:\example.txt [email protected]:upload/

就是把本地的c:\example.txt复制到了主机server(IP地址或主机名都可)上的用户username所在的主目录下的upload子目录中(这个路径可能是 /home/username/upload)

2、c:\>pscp -C c:\test.txt [email protected]:.

把本地的 C:\test.txt 复制到主机server的用户username的主目录下(.表示当前目录)

3、c:\>pscp -C [email protected]:*.tgz c:\download

把远程主机server上的用户username主目录下的所有 *.tgz 文件拷贝到本地的 c:\download目录中,如果 SSH 版本是 SSH v1,那这个命令就会出错。


注意事项:

1. 上述操作均需要输入对方主机的密码。当然从上面的参数可以看出,我们可以事先指定密码,后面就不用输入了。

比如:c:\>pscp -C -pw password c:\a.txt [email protected]:.


2. 如果要传送到机器上的其他文件夹下,为了避免没有权限操作,可以选择root用户

     

3. 保证linux安装了ssh server,如果没有,安装一下,一般都会自动启动了,如果没有启动,启动或者重启ssh服务(sudo /etc/init.d/ssh start/restart)。

         

4. 不要在putty.exe里面执行pscp命令,因为putty.exe已经链接上主机了,再用pscp命令还是在主机自己的文件夹里面复制,根本下载不到windows机器上面。