Linux shell rz和sz是終端下常用的文件傳輸命令,rz和sz通過shell被調用,其中rz用於從啟用終端的系統上傳文件到目標系統(終端登錄的目標系統), 這里不過多介紹這些命令,只是記錄一個使用rz過程中碰到的小問題。
本人在rz命令(不帶任何選項參數)上傳一個可執行文件exe時,出現了error,導致終端掛死在rz命令中,因為之前沒有碰到過這種情況,其他文件都可以正常上傳。所以想到是不是rz在面對這個文件exe時存在問題,所以man rz了一下,發現-e選項,描述如下:
-e, --escape
Force sender to escape all control characters; normally XON, XOFF, DLE, CR-@-CR, and Ctrl-X are escaped.
大致意思就是,-e選項強制對rz的控制字符進行轉義,就想C中表示真正的反斜杠 '/',需要 '//'進行轉義一樣。
就想到是不是exe文件存在rz程序的控制字符導致上傳出錯,所以加上-e選項,問題解決,因此可以確定是由於文件中存在rz的控制字符導致了rz上傳錯誤,所以為了防止rz出現上述問題,建議在用rz命令時都加上-e選項。