我們都知道Linux上的檔案下載下傳到windows系統上格式就亂了, 那我們怎麼辦那 ?現在我教大家一個簡單的方法來解決Linux系統的檔案下載下傳到windows系統上會出現的檔案格式亂的情況。
dos2unix指令用來将DOS格式的文本檔案轉換成UNIX格式的(DOS/MAC to UNIX text fileformat
converter)。DOS下的文本檔案是以\r\n作為斷行标志的,表示成十六進制就是0D0A.而Unix下的文本檔案是以\n作為斷行标志的,表示成十六進制就是0A.
DOS格式的文本檔案在Linux底下,用較低版本的vi打開時行尾會顯示^M,而且很多指令都無法很好的處理這種格式的檔案,如果是個shell腳本。而Unix格式的文本檔案在Windows下用Notepad打開時會拼在一起顯示。是以産生了兩種格式檔案互相轉換的需求,對應的将UNIX格式文本檔案轉成成DOS格式的是unix2dos指令。
unix2dos 和 dos2unix
名稱
unix2dos-UNIX 到 DOS 文本檔案格式轉換器
新思科技
unix2dos [選項] [-c convmode] [-o 檔案......][-n infile 檔案的輸出......]
選項:
[-hkqV][— — 幫助][-keepdate][— — 安靜][— — 版本]
常用參數:
-k :保留檔案運來的格式。
-n :保留原本的舊檔案,将轉換後的内容輸出到新檔案。
unix2dos 例子:
從 stdin 中獲得輸入和輸出寫到标準輸出。
unix2dos
轉換和替換 a.txt。轉換和替換 b.txt。
[root@localhost ~]# unix2dos a.txt b.txt
[root@localhost ~]# unix2dos -o a.txt b.txt
轉換和替換 a.txt 中 ASCII 轉換模式。轉換和
替換 b.txt 的 ISO 轉換模式。
[root@localhost ~]# unix2dos a.txt-c iso b.txt
[root@localhost ~]# unix2dos -c ascii a.txt -c iso b.txt
轉換和替換 a.txt 同時保持原始日期戳。
[root@localhost ~]# unix2dos -k a.txt
[root@localhost ~]# unix2dos -k -o a.txt
轉換 a.txt 和寫入 e.txt。
[root@localhost ~]# unix2dos -n a.txt e.txt
轉換 a.txt 和寫入相同,e.txt,e.txt 保持日期戳
a.txt。
[root@localhost ~]# unix2dos -k -n a.txt e.txt
轉換和替換 a.txt。轉換 b.txt 和寫入 e.txt。
[root@localhost ~]# unix2dos a.txt -n b.txt e.txt
[root@localhost ~]# unix2dos -o a.txt -n b.txt e.txt
轉換 c.txt 并寫入 e.txt。轉換和替換 a.txt。轉換
和替換 b.txt。轉換 d.txt 并寫入 f.txt。
[root@localhost ~]# unix2dos -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt
dos2unix 例子:
dos2unix
[root@localhost ~]# dos2unix a.txt b.txt
[root@localhost ~]# dos2unix -o a.txt b.txt
轉換和替換 a.txt 中 ASCII 轉換模式。
[root@localhost ~]# dos2unix a.txt -c iso b.txt
轉換和替換 b.txt 的 ISO 轉換模式。
[root@localhost ~]# dos2unix -c ascii a.txt -c iso b.txt
Mac c.txt 轉換 Unix ascii 格式中。
[root@localhost ~]# dos2unix -c mac c.txt b.txt
轉換和替換 a.txt 同時保持原始日期。
[root@localhost ~]# dos2unix -k a.txt
[root@localhost ~]# dos2unix -k -o a.txt
[root@localhost ~]# dos2unix -n a.txt e.txt
[root@localhost ~]# dos2unix -k -n a.txt e.txt
[root@localhost ~]# dos2unix a.txt -n b.txt e.txt
[root@localhost ~]# dos2unix -o a.txt -n b.txt e.txt