Linux下rz,sz與ssh的配合使用

Mygirl發表於2013-07-02

一般來說,linux伺服器大多是通過ssh客戶端來進行遠端的登陸和管理的,使用ssh登陸linux主機以後,如何能夠快速的和本地機器進行檔案的互動呢,也就是上傳和下載檔案到伺服器和本地;
   與ssh有關的兩個命令可以提供很方便的操作:
   sz:將選定的檔案傳送(send)到本地機器
   rz:執行該命令會彈出一個檔案選擇視窗,從本地選擇檔案上傳到伺服器(receive)

rz,sz是便是Linux/Unix同Windows進行ZModem檔案傳輸的命令列工具

windows端需要支援ZModem的telnet/ssh客戶端(比如SecureCRT)

執行命令rz,即是接收檔案,SecureCRT就會彈出檔案選擇對話方塊,選好檔案之後關閉對話方塊,檔案就會上傳到當前目錄

注意:單獨用rz會有兩個問題:上傳中斷、上傳檔案變化(md5不同),解決辦法是上傳是用rz -be,並且去掉彈出的對話方塊中“Upload files as ASCII”前的勾選。
-b binary 用binary的方式上傳下載,不解釋字元為ascii
-e 強制escape 所有控制字元,比如Ctrl+x,DEL等

執行命令sz file1 file2就是發檔案到windows上(儲存的目錄是可以配置) 比ftp命令方便多了,而且伺服器不用再開FTP服務了

PS:Linux上rz/sz這兩個小工具安裝lrzsz-x.x.xx.rpm即可。

當然,還可以設定一下目錄了:

在SecureCRT設定一下上傳和下載的預設目錄
options–>session options–>file transfer 下可以設定上傳和下載的目錄
剩下的你只要在用SecureCRT登陸linux終端的時候:
傳送檔案到客戶端:sz filename
zmodem接收可以自行啟動.
從客戶端上傳檔案到linux服務端:
只要服務端執行 : rz
然後在 SecureCRT 裡選檔案傳送,協議 zmodem
 
----------------
Linux下和Windows之間的檔案傳輸工具rz/sz(lrz/lsz) 介紹

【什麼是rz/sz (lsz/lrz)】

簡單說就是,可以很方便地用這兩個sz/rz工具,實現Linux下和Windows之間的檔案傳輸(傳送和接收),速度大概為10KB/s,適合中小檔案。rz/sz 通過Zmodem協議傳輸資料。

【為什麼要用rz/sz】

普通Linux和Windows之間的檔案共享方法,主要有建立nfs實現檔案共享,和tftp之類的方法,但是都很麻煩,而如果只是小檔案(幾十 K,幾百K),那麼直接用rz/sz,就顯得極其地方便了。大檔案的話,還是要考慮上面說得,其他的共享方法了,畢竟,rz/sz速度只有10K左右,傳大檔案會累死人的。。。

【如何使用】

(1)在Windows下,用SecureCRT(或者Windows自帶的超級終端)連線Com埠到開發板,或者ssh等協議連線到Linux伺服器上。

(2)在Linux端,安裝了rz/sz (lrz/lsz)工具後(嵌入式開發中,多數已經將編譯好的rz/sz工具放到rootfs中了,普通的Linux系統,如果沒有,可以下載原始碼,自己安裝),就可以直接執行rz/sz,實現和Windows之間的檔案傳輸了:

A、從windows中拷貝/下載檔案到Linux(開發板):

執行rz後,會自動彈出WIndows下的檔案選擇對話方塊,選擇對應檔案後,新增,然後確定,就開始傳輸,將windows中的檔案,拷貝到Linux中了。

B、將Linux中的檔案拷貝到Windows中某個資料夾:

執行sz file_name 就可以將Linux當前資料夾下的檔案file_name拷貝到Windows的對應目錄中了,其中,Windows目錄是由你當前執行的工具中設定的。

此處我用的是SecureCRT,具體的更改 rz上傳/sz下載 的預設的路徑的方法:

右鍵點選當前會話session -> Session Options -> Terminal -> Xmodem/Zmodem ->Directories :

Upload : 你要設定的路徑

Download:你要設定的路徑

相關文章