putty是一个开源软件,目前为止最新版本为0.70。对于文件或文件夹的上传下载,在Windows下它提供了pscp和psftp两个命令。

(1).pscp

  pscp在命令提示符中使用,只要putty(ssh)能够远程,就能使用该命令。

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

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

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

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

  下面做一个实例,使用pscp拷贝一个文件夹

C:\Users\xuefei>pscp -r root@192.168.0.11:/root/extundelete-0.2.4 Desktop\
root@192.168.0.11's password:
config.h | 5 kB | 5.0 kB/s | ETA: 00:00:00 | 100%
LICENSE | 17 kB | 17.6 kB/s | ETA: 00:00:00 | 100%
configure | 226 kB | 226.1 kB/s | ETA: 00:00:00 | 100%
missing | 10 kB | 10.1 kB/s | ETA: 00:00:00 | 100%
extundelete-extundelete.o | 1600 kB | 1600.2 kB/s | ETA: 00:00:00 | 100%

  跑完之后我的桌面就会多出一个名为extundelete-0.2.4的文件夹。但是,由于Linux与Windows编码问题,如果出现汉字名称或文件内容有汉字,那将会非常糟糕。

  如果是Windows上传虽然会有乱码,但还可以通过convmv和iconv处理(详见:从Windows复制文件到Linux显示乱码问题

  如果Windows下载的文件名有乱码,会发现找不到这个文件或文件夹(至少我不知道怎么做)。

(2).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,那么系统盘下部分文件是不允许上传,并且部分地址不允许存放下载文件。

  下面说一下psftp的几个常用选项

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

  下面做一个实例,上传一个目录

C:\Users\xuefei>psftp root@192.168.0.11
Using username "root".
root@192.168.0.11's password:
Remote working directory is /root
psftp> lcd Desktop\    //调整本地端路径
New local directory is C:\Users\xuefei\Desktop
psftp> put extundelete-0.2.4    //可以看到但有put是不行的
local: unable to open extundelete-0.2.4
psftp> mput extundelete-0.2.4    //mput一样不行
local: unable to open extundelete-0.2.4
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

  和上面的pscp一样,汉字问题依然存在。而且问题一模一样。

putty对Linux上传下载文件或文件夹的更多相关文章

  1. SecureCRT、Xmanager对Linux上传下载文件或文件夹

    (1).SecureCRT SecureCRT对Linux上传下载文件或文件夹拥有一个专门的软件SecureFXPortable.对于它来说只有两个的难题,一个是版本问题,尽量去官网下载最近版本:另一 ...

  2. Python 一键上传下载&一键提交文件到SVN入基线工具

    一键上传下载&一键提交文件到SVN入基线工具   by:授客 QQ:1033553122 实现功能 1 测试环境 1 使用说明 1   注: 根据我司项目规则订制的一套工具,集成以下功能,源码 ...

  3. Android连接socket服务器上传下载多个文件

    android连接socket服务器上传下载多个文件1.socket服务端SocketServer.java public class SocketServer { ;// 端口号,必须与客户端一致 ...

  4. 通过xshell/securecrt连接linux上传/下载文件

    通过ssh等客户端连接远程linux总会有上传下载的需求,这里分别用Ubuntu和centos展示安装lrzsz软件的命令,使用命令是一致的,这里简单写 1.安装: centos:(注:参数-y中的意 ...

  5. linux上传下载文件rz,sz

    [一般用于SecureCRT ssh中使用] █ 法一:直接用yum安装lrzsz(推荐) yum install lrzsz -y 注意:rhel安装完系统后 直接可使用 rz sz █ 法二:源文 ...

  6. Linux上传下载神器之 lrzsz

    在开发的过程中,经常遇到 需要在 Linux 和 Windows 之间上传下载文件的情况 这时,一般都是使用 FTP 或者 WinSCP 工具进行上传下载, 虽然也能解决问题,但是这些工具需要在本地安 ...

  7. linux上传下载

    linux传下载 1.可以通过xftp连接服务器直接 拖拽 2.yum install lrzsz   通过rz/sz命令上传下载

  8. Linux上传下载文件快捷命令

    远程链接Linux(如SecrueCRT),要上传文件很下载文件到Linux服务器,只需要使用sz或者rz命令即可快速下载和上传文件了. 使用方法: 1.首先确保Linux服务器系统中安装了lrzsz ...

  9. linux 上传/下载文件到windows工具

    一般来说,linux服务器大多是通过ssh客户端来进行远程的登陆和管理的,使用ssh登陆linux主机以后,如何能够快速的和本地机器进行文件的交互呢,也就是上传和下载文件到服务器和本地:   与ssh ...

随机推荐

  1. Vuejs - 组件式开发

    初识组件 组件(Component)绝对是 Vue 最强大的功能之一.它可以扩展HTML元素,封装可复用代码.从较高层面讲,可以理解组件为自定义的HTML元素,Vue 的编译器为它添加了特殊强大的功能 ...

  2. 有关计数问题的dp

    问题一:划分数 问题描述 有n个去区别的物体,将它们划分成不超过m组,求出划分方法数模M的余数. 我们定义dp[i][j],表示j的i划分的总数 将j划分成i个的话,可以先取出k个,然后将剩下的j-k ...

  3. python初步学习-python数据类型-字典(dict)

    字典 字典类似于你通过联系人名字查找地址和联系人详细情况的地址簿,即,我们把键(名字)和值(详细情况)联系在一起.注意,键必须是唯一的,就像如果有两个人恰巧同名的话,你无法找到正确的信息. 注意,你只 ...

  4. bzoj 1034 贪心

    首先如果我们想取得分最高的话,肯定尽量赢,实在赢不了的话就耗掉对方最高的,那么就有了贪心策略,先排序,我方最弱的马和敌方最弱的相比,高的话赢掉,否则耗掉敌方最高的马. 对于一场比赛,总分是一定的,所以 ...

  5. setTimeout()和setInterval()方法的区别

    setTimeout(); //5秒后执行yourFunction(),只执行一次 setInterval(); //每隔5秒执行一次 1.setTimeout(funhander,time)的作用是 ...

  6. 2017-2018-1 20179205《Linux内核原理与设计》第八周作业

    <Linux内核原理与设计>第八周作业 视频学习及操作分析 预处理.编译.链接和目标文件的格式 可执行程序是怎么来的? 以C语言为例,经过编译器预处理.编译成汇编代码.汇编器编译成目标代码 ...

  7. Django rest framework + Vue简单示例

    构建vue项目参考这篇文章https://segmentfault.com/a/1190000008049815 一.创建Vue项目 修改源:npm config set registry https ...

  8. 虚拟机出现intel vt -x 处于禁用状态打不开处理方式

    处理方式 . 1 进入bios 以华硕主板为例 进入高级模式找到cpu虚拟技术 打开虚拟技术支持 其它电脑找到这个

  9. Linux 入门记录:十一、Linux 用户基础

    一.用户.组 1. 用户 当我们使用 Linux 时,需要以一个用户的身份登录,一个进程也需要以一个用户的身份运行.用户限制使用者或进程可以使用或不可以使用哪些资源. 2. 组 组用来方便地管理用户. ...

  10. defconfig file 的 位置

    Platform MSM8917 MSM8937 defconfig file position Android/kernel/msm-3.18/arch/arm/configs/