zoukankan      html  css  js  c++  java
  • putty对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:Usersxuefei>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:Usersxuefei>psftp root@192.168.0.11,它的默认下载地址就是C:Usersxuefei。

      第二种、在命令提示符中,使用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:Usersxuefei>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:UsersxuefeiDesktop
    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:1LICENSE
    remote:/root/extundelete-0.2.4/Makefile => local:1Makefile
    remote:/root/extundelete-0.2.4/Makefile.am => local:1Makefile.am
    psftp> get 1 2    //单个文件,重命名2
    remote:/root/1 => local:2
    

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

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

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

  • 相关阅读:
    OGG-01298 、OGG-00375、OGG-01668 could not find column "TRANSACTION". Error in FILTER clause
    OGG-01519
    oracle RAC 监听状态为"Not All Endpoints Registered"
    ORA-01653: unable to extend table keep.ic_log by 128 in tablespace IDX_LOG
    mysql的binlog太多太大占用大量磁盘空间的解决方法
    启用mysql日志,记录执行过的sql
    定时挂载文件系统步骤
    error c2678 <
    TypeError:'dict' object is not callable
    用SendMessage发WM_COPYDATA消息
  • 原文地址:https://www.cnblogs.com/diantong/p/10222807.html
Copyright © 2011-2022 走看看