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















 
 
 
 
 
 
 