在說這兩兄弟前,先做一個實驗:
我在Win7下新建左一個文本文件test.txt,然后用記事本打開輸入如下內容,保存

然后用UltraEdit以“十六進制”方式打開,如下圖

先不管上面看到的內容,在Debian中打開Vim,輸入同樣的內容后保存為test.txt文件

然后在Vim中輸入命令:
:%!xxd
以十六進制方式查看文件,如下圖所示:

好啦,正面我把兩個文件十六進制的代碼帖到下面方便作對比:


Win7下: 53 6F 62 65 31 0D 0A 73 6F 62 65 32
Debian下: 53 6F 62 65 31 0A 73 6F 62 65 32 0A
這回你看清楚了吧,0x0D表示回車即'\r',0x0A表示換行即'\n'
從上面的結果我們可以得出如下結論:
1.在Win下,一個【回車鍵】意味著輸入"\r\n"這樣的組合,而在Linux下,則意味是輸入'\n';
2.在這兩種系統中,同樣的文件內容也不一定在同樣的大小;
3.在Linux下,每一行都會在其最后加上換行符,而Win下則只有在真正輸入回車鍵時才會插入"\r\n";
4.在Vim下刪除所有文件內容后,你以為文件是空了嗎?實驗證明,并不是空的

你明白了嗎???歡迎路過~~~
引用一下一篇有用的文章 https://www.jb51.net/article/26547.htm
原文來自: cnblogs SoBe