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目錄下。

具體操作如下:

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 新編碼 [選項] 文件名

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章