1. 程式人生 > >用rz,sz命令在windows和linux之間傳輸檔案

用rz,sz命令在windows和linux之間傳輸檔案

轉自http://www.linuxmine.com/178.html
有很多人沒有聽說過ZModem協議,更不知道有rz/sz這樣方便的工具; 下面一段是從SecureCRT的幫助中copy的:

ZModem is a full-duplex file transfer protocol that supports fast data
transfer rates and effective error detection. ZModem is very user
friendly, allowing either the sending or receiving party to initiate a
file transfer. ZModem supports multiple file (“batch”) transfers, and

allows the use of wildcards when specifying filenames. ZModem also
supports resuming most prior ZModem file transfer attempts.

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

windows端需要支援ZModem的telnet/ssh客戶端(xshell支援,好像putty不支援),SecureCRT就可以用SecureCRT登陸到Unix/Linux主機(telnet或ssh均可)

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


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


附:Zmodem協議是Xmodem 檔案傳輸協議的一種增強形式,不僅能傳輸更大的資料,而且錯誤率更小。包含一種名為檢查點重啟的特性,如果通訊連結在資料傳輸過程中中斷,能從斷點處而不是從開始處恢復傳輸。

【什麼是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自帶的超級終端,Xshell,Le Putty)連線Com埠到開發板,或者ssh等協議連線到Linux伺服器上。

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

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

在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:你要設定的路徑 

【lrz/lsz 原始碼下載】

lrzsz-0.12.20.tar.gz ((about 270KB)).