putty对Linux上传下载文件或文件夹

时间: 2019-01-05阅读: 1944标签: Linux

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 Desktoproot@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一样,汉字问题依然存在。而且问题一模一样。


来自:https://www.cnblogs.com/diantong/p/10222807.html


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: http://www.fly63.com/article/detial/1776

如何查看Linux哪些用户拥有sudo权限

本教程将讲解如何查看Linux用户是否有sudo权限。您还将学习如何查看Linux系统上的所有sudo用户。如何查看Linux哪些用户拥有sudo权限

linux搭建ftp服务器

运行以下命令安装 vsftpd;查看vsftpd文件夹;说明:/etc/vsftpd/vsftpd.conf 是核心配置文件。/etc/vsftpd/ftpusers 是黑名单文件,此文件里的用户不允许访问 FTP 服务器。

Linux 下的五种 IO 模型

现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间

Windows/Linux 系统中获取端口被哪个应用程序占用

管理服务程序的时候,可能会查询某个端口当前被哪个进程占用。不仅能找出有问题的进程将其处理掉,也可以用来辅助检查某个程序是否开启了服务并在监听端口。Windows 系统上可以使用 PowerShell 命令来查询占用某个端口的程序。

Linux中sort,uniq,cut,wc命令详解

本文主要对Linux中sort,uniq,cut,wc这4个命令的使用方法进行了详细说明,希望对你有所帮助。sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出。

Linux终端快速检测网站是否宕机的6个方法

本教程教你怎样在 Linux 终端快速检测一个网站是否宕机。你可能已经了解了一些类似的命令,像 ping 、 curl 和 wget 。我们在本教程中又加入了一些其他命令。同时,我们也加入了不同的选项来检测单个和多个主机的信息。

Linux下修改时区

我使用的机器操作系统是centOS8。所以这里使用的指令也是centOS8上的指令(不过也没差别)。执行完成选择后并不会直接生效,还需要我们做些操作。根据提示,需要将下面的内容添加到 profile 文件中:

Linux等待队列原理与实现

当进程要获取某些资源(例如从网卡读取数据)的时候,但资源并没有准备好(例如网卡还没接收到数据),这时候内核必须切换到其他进程运行,直到资源准备好再唤醒进程。

安全强化你的Linux服务器的七个步骤

这篇入门文章将向你介绍基本的 Linux 服务器安全知识。虽然主要针对 Debian/Ubuntu,但是你可以将此处介绍的所有内容应用于其他 Linux 发行版。我也鼓励你研究这份材料,并在适用的情况下进行扩展。

面试常问的28个Linux命令

作为一个Java开发人员,有些常用的Linux命令必须掌握。即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令。因为很多服务器上都是Linux系统。所以,要和服务器机器交互,就要通过shell命令

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!