zoukankan      html  css  js  c++  java
  • window和Linux 项目传文件远程执行Linux 命令

    1.在windows中把文件上传到远程Linux服务器

    在工作中,每次部署应用时都需要从本机Windows服务器拷贝文件到Linux上,有时还将Linux 上的文件拷到本机,这些操作以前都是使用Ftp 工具FlashFxp 来操作的,最近就想有什么更快捷的方法没,比如直接命令操作。结合网上查询的资料,发现 pscp 能够实现Windows 和Linux 间相互传输文件。下文将详细描述如何使用:

    一、pscp 简要描述:

    PSCP (PuTTY Secure Copy client)是PuTTY 提供的文件传输工具 ,通过 SSH 连接,在两台机器之间安全的传输文件,可以用于任何 SSH(包括 SSH v1、SSH v2) 服务器。

    二、下载及使用

    1、下载:

    可以从http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html下载pscp,并将其放入windows的system32 文件夹下,这样在dos命令窗口中就能直接调用使用了。

    2、使用

    (一)Windows—Linux上传文件:

    1)、开始→运行→cmd进入到dos模式,输入以下命令:

    pscp E:javaWPnew.txt hollyfee@130.75.7.156:/home/hollyfee

    2)、回车后,提示输入密码,在我们输入Linux服务器上该用户的登录密码后,www.linuxidc.com 文件会上传到 Linux 服务器    的/home/hollyfee目录下。

    具体操作如下:

    C:Documents and SettingsAdministrator>pscp E:javaWPnew.txt hollyfee@130.75.7.156:/home/hollyfee
    
    hollyfee@130.75.7.156's password:
    
    new.txt                   | 0 kB |   0.0 kB/s | ETA: 00:00:00 | 100%
    
    C:Documents and SettingsAdministrator>

    (二)Linux—Windows下载文件:

    1)、开始→运行→cmd进入到dos模式,输入以下命令:

    pscp hollyfee@130.75.7.156:/home/hollyfee/new.txt E:javaWP
    ew_copy.txt

    2)、回车后,提示输入密码,输入密码后文件将上传到目标机器的/home/hollyfee目录下。

    其中:hollyfee为linux的用户名,130.75.7.156为远程Linux主机ip地址,/home/hollyfee/new.txt为linux下的文件,E:javaWP ew_copy.txt为保存在本地的文件。

    具体操作如下:

    C:Documents and SettingsAdministrator>
    
    pscp hollyfee@130.75.7.156:/home/hollyfee/new.txt E:javaWP
    ew11111.txt
    
    hollyfee@130.75.7.156's password:
    
    new11111.txt              | 0 kB |   0.0 kB/s | ETA: 00:00:00 | 100%
    
    C:Documents and SettingsAdministrator>

    2.Windows远程linux服务器执行shell命令

       借用百度百科关于putty的描述:PuTTY是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件。较早的版本仅支持Windows平台,在最近的版本中开始支持各类Unix平台,并打算移植至Mac OS X上。除了官方版本外,有许多第三方的团体或个人将PuTTY移植到其他平台上,像是以Symbian为基础的移动电话。PuTTY为一开放源代码软件,主要由Simon Tatham维护,使用MIT licence授权。随着Linux在服务器端应用的普及,Linux系统管理越来越依赖于远程。在各种远程登录工具中,Putty是出色的工具之一。Putty是一个免费的、Windows 32平台下的telnet、rlogin和ssh客户端,但是功能丝毫不逊色于商业的telnet类工具。

        很多人是在Windows上进行开发的,但在实际的项目中难免有使用Linux服务器的需求。而我们有时也无法避免的需要在Windows机器上来远程执行Linux服务器上的一些指令或者程序。本文就介绍 一种在命令行使用putty(而不是界面,方便编程)执行远程命令的方法。
     
    二、putty命令行指令简介
        putty提供了一些命令行指令,这些命令行指令可以在:http://the.earth.li/~sgtatham/putty/0.54/htmldoc/Chapter3.html#3.7找到,这里只对几个我们需要用到的介个指令进行介绍。
    1. 在命令行启动session
        在命令行启动session的指令为:
        putty.exe [-ssh | -telnet | -rlogin | -raw] [user@]host
    2. 标准指令介绍
    2.1 选择协议:-ssh, -telnet, -rlogin, -raw
        这是putty支持的4个协议,在建立session时,我们需要指定使用的协议
    2.2 -l:指定登录用户名
    2.3 -pw:指定密码(明文密码,在编写代码时得考虑这里的安全性)
    2.4 -load:加载一个已保存的session
        在使用putty时,可以将session保存,下次连接时,无需再进行配置即可直接连接。在通过命令行创建session时,可以直接使用这个指令,如:
        putty.exe -load "server_session" xxx@yyyy
    其中xxx为使用的用户名,yyyy为我们要连接的远程主机ip地址。
    2.5 -m:指定包含需远程执行的指令的本地文件
        如假设我们在cmd.txt这个文件中写了我们需要在远程主机上执行的指令集合,则可以按如下方法在远程主机上执行这些指令:
        putty.exe -ssh xxx@yyyy -m "cmd.txt"     ####这个使用远程执行Linux 命令:linux的命令写在cmd.txt文件里面。
        ps:   "E:	oolsputty.exe" -P 19522 -pw jgw31500 shengleqi@192.168.20.22 -m "E:Pythoncmd.txt"
    2.6 -i:指定SSH秘钥
        这个参数用于指定需要使用的SSH秘钥文件,假如远程主机采用秘钥文件的方式来进行身份验证,则可以使用如下指令来建立session:
        putty.exe -ssh xxx@yyyy -i  privatekey.ppk
        只要将以上的”privatekey.ppk“换成你自己的文件即可。

    3.Linux命令:convmv(文件名转码的工具)

    convmv编码转换工具详解
    有些情况下我们在window下上传到服务器时会出现编码不一致的情况如下:

    convmv能帮助我们很容易地对一个文件,一个目录下所有文件进行编码转换,比如gbk转为utf8等。

    安装 yum install convmv

    语法:

    convmv [options] FILE(S) … DIRECTORY(S)

    主要选项:

    1、-f ENCODING
    指定目前文件名的编码,如-f gbk
    2、-t ENCODING
    指定将要转换成的编码,如-f utf-8
    3、-r
    递归转换目录下所有文件名
    4、–list
    列出所有支持的编码
    5、–notest
    默认是只打印转换后的效果,加这个选项才真正执行转换操作。

    常用参数:

    -r 递归处理子文件夹

    –notest 真正进行操作,默认情况下是不对文件进行真实操作

    –list 显示所有支持的编码

    –unescap 可以做一下转义,比如把%20变成空格

    -i 交互模式(询问每一个转换,防止误操作)

    convmv 的使用方法:

    convmv -f 源编码 -t 新编码 [选项] 文件名

  • 相关阅读:
    Spring Boot拦截器实现并和swagger集成后使用拦截器的配置问题
    .Net
    Spring+MyBatis实现数据库读写分离方案
    JS通过百度地图API获取当前定位信息
    DevExpress安装说明
    sql server 多行数据合并成一列
    sql数据行转列
    html居中定位
    c#使用多线程的几种方式示例详解
    sql server数据字符串分割功能sql
  • 原文地址:https://www.cnblogs.com/sheng-247/p/12894753.html
Copyright © 2011-2022 走看看