window和Linux 项目传文件远程执行Linux 命令 Windows远程linux服务器执行shell命令

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:\javaWP\new.txt hollyfee@130.75.7.156:/home/hollyfee

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

具体操作如下:

扫描二维码关注公众号,回复: 11198968 查看本文章
C:\Documents and Settings\Administrator>pscp E:\javaWP\new.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 Settings\Administrator>

(二)Linux—Windows下载文件:

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

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

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

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

具体操作如下:

C:\Documents and Settings\Administrator>

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

hollyfee@130.75.7.156's password:

new11111.txt              | 0 kB |   0.0 kB/s | ETA: 00:00:00 | 100%

C:\Documents and Settings\Administrator>

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:\tools\putty.exe" -P 19522 -pw jgw31500 shengleqi@192.168.20.22 -m "E:\Python\cmd.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 新编码 [选项] 文件名

猜你喜欢

转载自www.cnblogs.com/sheng-247/p/12894753.html
今日推荐