Unix操作系統(tǒng)與Dos文件差異所在
Unix操作系統(tǒng)與DOS(包括Windos)是不同類型的操作系統(tǒng)。由于其內(nèi)部架構(gòu)的不同,這導(dǎo)致他們之間的文件難以相互兼容。
如現(xiàn)在有一個文本文件,如果這是一個Unix操作系統(tǒng)格式下的文件,在Windows操作系統(tǒng)下就不會正常顯示。很有可能在Windows操作系統(tǒng)下打開的時候,其三行內(nèi)容會再同一行中顯示。
所以如果企業(yè)中同時存在有Unix操作系統(tǒng)與微軟操作系統(tǒng)的時候,那么就需要考慮如何提高文件的兼容性問題。不但要能夠顯示文件的內(nèi)容,而且文件的格式也需要保存下來,如分行等等。今天筆者就跟大家來探討一下這個問題。
一、Unix操作系統(tǒng)文件與Dos文件的主要差異。
在實際工作中,系統(tǒng)工程師經(jīng)常需要在Unix操作系統(tǒng)與Windows操作系統(tǒng)之間共享文件。但是由于他們的格式存在一定的差異,故兼容性不是很高。了解他們格式的具體差異,是解決這個兼容性問題的前提。
其實他們的差異很少,只是在一個分號控制符上有點差異。例如筆者現(xiàn)在分別在Unix操作系統(tǒng)與Windows操作系統(tǒng)下建立一個test文件。然后利用od –bc test(Unix操作系統(tǒng)下的文件)與od -bc test.test(微軟操作系統(tǒng)下的文本文件)這兩個命令來顯示這兩個文件,那么他們的差異也就一覽無余了。
test1
test2
微軟操作系統(tǒng)下的文件(如記事本文件),行的結(jié)束符都要用兩個字符表示,即為\r與\n。但是Unix操作系統(tǒng)下的文件,行的結(jié)束符則只用一個字符表示,即\n.\r與\n兩個字符的八進制值分別為015與012,\r與\n是轉(zhuǎn)義字符的表示方法。
利用od –bc命令就可以用八進制顯示結(jié)果。如果要把Dos文件格式轉(zhuǎn)換為Unix操作系統(tǒng)文件格式,則需要把每行后面一個多于的\n符號去掉。相反,如果要把Unix文件轉(zhuǎn)換為微軟操作系統(tǒng)支持的格式,則需要在每行后面加入\n符號。這個原理雖然簡單,但是操作起來卻有一定的難度。如果內(nèi)容少的話,那么手工更改也沒有多少工作量。
但是如果一個文件有數(shù)百行、上千行,那么手工更改的話可不是一個好主意。為此需要借助一定的工具或者命令,來實現(xiàn)這個自動轉(zhuǎn)換的功能。
微軟操作系統(tǒng)下的文件(如記事本文件),行的結(jié)束符都要用兩個字符表示,即為\r與\n。但是Unix操作系統(tǒng)下的文件,行的結(jié)束符則只用一個字符表示,即\n.\r與\n兩個字符的八進制值分別為015與012,\r與\n是轉(zhuǎn)義字符的表示方法。
利用od –bc命令就可以用八進制顯示結(jié)果。如果要把Dos文件格式轉(zhuǎn)換為Unix文件格式,則需要把每行后面一個多于的\n符號去掉。相反,如果要把Unix文件轉(zhuǎn)換為微軟操作系統(tǒng)支持的格式,則需要在每行后面加入\n符號。這個原理雖然簡單,但是操作起來卻有一定的難度。如果內(nèi)容少的話,那么手工更改也沒有多少工作量
。但是如果一個文件有數(shù)百行、上千行,那么手工更改的話可不是一個好主意。為此需要借助一定的工具或者命令,來實現(xiàn)這個自動轉(zhuǎn)換的功能。
關(guān)于Unix操作系統(tǒng)文件與Dos文件的主要差異,我們就講解到這里了。
【編輯推薦】