linux ftp客戶端的編碼問題

準備下載ftp上的文件,記得curl能夠實現下載ftp的文件,而後嘗試了,linux

curl ftp://username:password@192.168.1.2/平臺全量包/package0811.zip -o package0811.zip

結果是卡住不動了!卡住不動了!卡住不動了!沒有出現預想的下載進度條。shell

懷疑本身的命令寫錯了,而後使用ftp客戶端windows

#ftp
>open 192.168.1.2
>username
>password
>ls

輸入完上面的命令以後發現中文亂碼啊bash

百度搜索了箇中ftp客戶端亂碼的問題,大部分都是windows的問題(感受google靠譜,雖然麻煩)。ssh

而後本身開始探索,第一步在ssh終端上修改當前會話的編碼,修改成gbk,而後使用ftp登陸,發現使用ls命令以後能顯示中文路徑,可是【cd 平臺全量包】以後,就會卡住不動了。不得無論理終端頁面。心想既然是編碼的問題,那就從編碼下手吧,遠程的FTP server的編碼是gbk的,並且我這邊也修改不了。linux 的FTP命令行客戶端也不能修改編碼。而後忽然想使用window的命令行試試,結果正常,可以cd目錄。看樣子跟命令行環境也有關係,修改shell環境變量curl

#export LANG="zh_CN.GBK"

再次嘗試,OK,能夠正常的瀏覽中文目錄。google

後來也嘗試過其餘的方法,最簡單的就是修改終端的編碼,例如我設置的終端編碼爲utf-8,而後修改成gbk。直接使用下面的命令就能夠了編碼

curl ftp://username:password@192.168.1.2/平臺全量包/package0811.zip -o package0811.zip

  修改成 url

GB18030包含GBK包含GB2312命令行

export命令是針對當前shell環境的,下次登陸以後就恢復爲原來的環境變量了。

相關文章
相關標籤/搜索