在对linux系统进行维护的过程中免不了,要进行文件在linux和window之间的上传下载问题,其中putty是最常使用到的开源工具
puttuy 中提供了两个工具 pscp / psftp

pscp介绍:

使用前提:只要putty (ssh)能够远程目标主机,就能够使用pscp

pscp [Windows上的路径,可绝对可相对] [Linux用户]@[Linux的IP地址或网络内唯一主机名]:[Linux上存放地址,绝对路径]
pscp [Linux用户]@[Linux的IP地址或网络内唯一主机名]:[Linux上存放地址,绝对路径] [Windows上的路径,可绝对可相对]

Windows路径在前,是Windows向Linux上传文件。Linux路径在前,则是Windows向Linux请求下载文件。

另外pscp后面还可以跟随选项,这里只介绍6个常用选项:


 1. -p 拷贝文件的时候保留源文件建立的时间。
 2. -q 执行文件拷贝时,不显示任何提示消息。
 3. -r 拷贝整个目录
 4. -v 拷贝文件时,显示提示信息。<br>-sftp 强制使用sftp协议<br>-scp 强制使用scp协议

实例: 拷贝一个文件夹:
在这里插入图片描述
跑完之后我的C盘下的\aa文件夹下出现拷贝文件夹;

psftp

psftp也可以在命令提示符中使用,不过putty也给出了一个接口图标直接打开使用。

这是就有使用时的三种情况:

第一种、在命令提示符中,使用psftp [Linux用户]@[Linux的IP地址或网络内唯一主机名]转到psftp模式下(此时已经连接Linux)。另外此时Windows默认上传下载地址为转入psftp模式前所在的地址,例如C:\Users\xuefei>psftp root@192.168.0.11,它的默认下载地址就是C:\Users\xuefei。

第二种、在命令提示符中,使用psftp转到psftp模式下(此时没有连接Linux)。想要连接到Linux服务器就必须在psftp模式下执行open [Linux用户]@[Linux的IP地址或网络内唯一主机名]。另外和第一种一样,此时Windows默认上传下载地址为转入psftp模式前所在的地址。

第三种、使用putty提供的接口图标PSFTP直接打开,会直接转到psftp模式下(此时没有连接到Linux)。和第二种一样,想要连接到Linux服务器就必须在psftp模式下执行open [Linux用户]@[Linux的IP地址或网络内唯一主机名]。默认的下载地址是软件安装目录。

注意:如果不是以超级管理员权限打开命令提示符或接口图标PSFTP,那么系统盘下部分文件是不允许上传,并且部分地址不允许存放下载文件。

 1. put 上传文件,目录需要加-r
 2. get 下载文件,目录需要加-r
 3. mput 上传多个文件
 4. mget 下载多个文件
 5. cd 服务器端移动路径
 6. pwd 显示服务器端当前所在路径
 7. lcd 本地端移动路径
 8. lpwd 显示本地端当前所在路径

实例:上传一个文件夹:

C:\Users\cuiq>psftp root@10.0.1.5
Using username "root".
root@10.0.1.5's password:
Remote working directory is /root
psftp> lcd Desktop\    //调整本地端路径
New local directory is C:\Users\cuiq\Desktop
psftp> put -r extundelete-0.2.4    //put -r才可以上传目录

下载多个文件:

psftp> mget 1 install.log install.log.syslog
remote:/root/1 => local:1
remote:/root/install.log => local:install.log
remote:/root/install.log.syslog => local:install.log.syslog

文件下载到桌面上

上传下载单个文件或文件夹还可以重命名

psftp> get -r extundelete-0.2.4 1  //下载单个文件夹,重命名为1
remote:/root/extundelete-0.2.4/LICENSE => local:1\LICENSE
remote:/root/extundelete-0.2.4/Makefile => local:1\Makefile
remote:/root/extundelete-0.2.4/Makefile.am => local:1\Makefile.am
psftp> get 1 2    //单个文件,重命名2
remote:/root/1 => local:2

上传下载单个文件或文件夹还可以给出绝对路径,保存到指定地址

psftp> get 1 D:\1    //一定要有重命名,不然无法指定地址
remote:/root/1 => local:D:\1
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐