linux 中 rz 和ftp 原理解析

在日常linux的使用中 傳文件更是家常便飯,在服務器上上傳及下載文件有很多方式,例如:

rz 命令和ftp 應該是使用最多的了,但是在日常使用中我們有沒有去了解和探索下他的原理?

下面說下rz 和ftp的原理

ftp 的下載速度 是rz 的3倍以上

rz 命令新版linux 系統都會自帶,如果沒有請更新下源並且安裝

安裝rz有兩種方式:

1. 編譯安裝

下載文件

https://www.ohse.de/ 


點擊圈出來的鏈接 進入下載

當然也可以在服務器中 用下面的方式直接下載

wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz

解壓編譯

tar zxvf lrzsz-0.12.20.tar.gz
make:
cd lrzsz-0.12.20

./configure && make && make install

創建軟連接方便使用

cd 編譯目錄
sudo ln -s 編譯目錄/lrz rz
sudo ln -s 編譯目錄/lsz sz

2. 通過yum 安裝 (對於網絡暢通的服務器)

yum install -y lrzsz

rz 原理:

rz可以批量上傳文件,也可以上傳單個文件。使用的協議是ZMODEM協議。   (下面部分是從網上摘的)

ZMODEM 協議的介紹 :https://blog.csdn.net/ligerendaqiu123/article/details/44964791

下面簡單說下ZModem協議的事情,先得從XMODEM協議(XMODEM Protocol)說起。XMODEM協議是一種使用撥號調制解調器的個人計算機通信中廣泛使用的異步文件運輸協議。這種協議以128字節塊的形式傳輸數 據,並且每個塊都使用一個校驗和過程來進行錯誤檢測。如果接收方關於一個塊的校驗和與它在發送方的校驗和相同時,接收方就向發送方發送一個認可字節。然 而,這種對每個塊都進行認可的策略將導致低性能,特別是具有很長傳播延遲的衛星連接的情況時,問題更加嚴重。  
        使用循環冗餘校驗的與XMODEM相應的一種協議稱爲XMODEM-CRC。還有一種是XMODEM-1K,它以1024字節一塊來傳輸數據。 YMODEM也是一種XMODEM的實現。它包括XMODEM-1K的所有特徵,另外在一次單一會話期間爲發送一組文件,增加了批處理文件傳輸模式。              
        ZMODEM是最有效的一個XMODEM版本,它不需要對每個塊都進行認可。事實上,它只是簡單地要求對損壞的塊進行重發。ZMODEM對按塊 收費的分組交換網絡是非常有用的。不需要認可回送分組在很大程度上減少了通信量。它是Xmodem 文件傳輸協議的一種增強形式,不僅能傳輸更大的數據,而且錯誤率更小。包含一種名爲檢查點重啓的特性,如果通信鏈接在數據傳輸過程中中斷,能從斷點處而不 是從開始處恢復傳輸。
     在命令行中敲一下rz -be,在SecureCRT下就會彈出文件選擇框讓你選擇需要上傳的文件了,而且可以選擇多個;不過,如果是用putty,那就無能爲力了。

      與rz命令相對應的,sz命令可以實現從Linux服務器下載文件到本地。

常用參數
  -b 以二進制方式,默認爲文本方式。(Binary (tell it like it is) file transfer override.)
  -e 對所有控制字符轉義。(Force sender to escape all control characters; normally XON, XOFF, DLE, CR-@-CR, and Ctrl-X are escaped.)
  如果要保證上傳的文件內容在服務器端保存之後與原始文件一致,最好同時設置這兩個標誌,如下所示方式使用:
  rz -be
  此命令執行時,會彈出文件選擇對話框,選擇好需要上傳的文件之後,點確定,就可以開始上傳的過程了。上傳的速度取決於當時網絡的狀況。
  如果執行完畢顯示“0錯誤”,文件上傳就成功了,其他顯示則表示文件上傳出現問題了。

  有些版本的Linux下,執行rz命令報“command not found”,可以到安裝盤中找 lrzsz*.rpm 去安裝。

下面介紹下ftp的原理

大家可以看下 這篇文章(這裏就不在贅述了)  https://blog.csdn.net/u014774781/article/details/48376633

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