- Binary :不做任何格式轉換的傳輸方式。
- ASCII :傳輸文字檔時會做格式轉換。ASCII 傳輸型態是為了符合 Window 文字檔編碼方式,例如跳行在 linux 是『\n』,但 windows 是『\r \n』,若在 Linux 編輯好文字檔,下載到 Windows 系統並開啟,所有文字會在同一行。
Binary 型態傳輸文字檔所產生的問題
# vim linuxtext.txt
linux
哈
哈
# od -c linuxtext.txt
0000000 l i n u x \n 345 223 210 \n 345 223 210 \n
0000016
關閉 vsftpd 的 ascii 下載功能,這樣 windows 客戶端下載時就不會自動轉換。
# vim /etc/vsftpd/vsftpd.conf
ascii_download_enable=NO // 表示 FTP 伺服器只支援 Binary 型態下載
在 Windows 的記事本中開啟 linuxtext.txt,發現內容沒有跳行。
可使用unix2dos.x86_64及dos2unix.x86_64來轉換格式。
# yum install -y unix2dos &> /dev/null // 安裝時不顯示安裝流程
# od -c linuxtext.txt
0000000 l i n u x \n 345 223 210 \n 345 223 210 \n
0000016
# unix2dos linuxtext.txt
unix2dos: converting file linuxtext.txt to DOS format ...
# od -c linuxtext.txt
0000000 l i n u x \r \n 345 223 210 \r \n 345 223 210 \r
0000020 \n
0000021
沒有留言:
張貼留言