用utrledit打開unix文本文件時總會提示:是否將文件轉換為dos格式。以前一直不知道為什麼。前段時間做項目,在windows編輯 shell,然後用ftp上傳到linux主機,發現不能運行。由於沒有經驗,分析了半天。
不過最後終於得出了結論:dos和unix的文本文件格式有區別,這也是為什麼前邊提到utraledit會提示的原因。具體分析,在utrledit下打開分別打開一個dos和unix的文本文件,然後選擇hex 編輯,即可看到其編碼內容。
原來unix下的回車是用0x0A表示的,而dos下的回車則是0x0D0A。如果我們用wordpad打開unix的文件,會發現其換行處都不能正確識別。
分析了原因,就要找到解決的辦法。在windows下用utraledit編輯後,可以在文件菜單下找到轉換為unix格式,然後再上傳主機。但是這時還有問題,因為有的ftp工具可以選擇以文本或者二進制格式傳輸,這時則必須選擇二進制,否則傳輸時又會被改為dos格式。其實在unix下已經有一個工具 dos2unix可以直接將dos格式文件轉換為unix格式。看來各個系統間的區別不僅是在大的方面,也體現在這種細微的地方。