歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 讓DOS與Unix文件相互兼容

讓DOS與Unix文件相互兼容

日期:2017/2/28 16:48:13   编辑:Linux教程

Unix與DOS(包括Windos)是不同類型的操作系統。由於其內部架構的不同,這導致他們之間的文件難以相互兼容。如現在有一個文本文件,內容如下:

  如果這是一個Unix格式下的文件,在Windows操作系統下就不會正常顯示。很有可能在Windows操作系統下打開的時候,其三行內容會再同一行中顯示。所以如果企業中同時存在有Unix操作系統與微軟操作系統的時候,那麼就需要考慮如何提高文件的兼容性問題。不但要能夠顯示文件的內容,而且文件的格式也需要保存下來,如分行等等。今天筆者就跟大家來探討一下這個問題。

  一、Unix文件與Dos文件的主要差異。

  在實際工作中,系統工程師經常需要在Unix操作系統與Windows操作系統之間共享文件。但是由於他們的格式存在一定的差異,故兼容性不是很高。了解他們格式的具體差異,是解決這個兼容性問題的前提。其實他們的差異很少,只是在一個分號控制符上有點差異。例如筆者現在分別在Unix操作系統與Windows操作系統下建立一個test文件。然後利用od –bc test(Unix操作系統下的文件)與od -bc test.test(微軟操作系統下的文本文件)這兩個命令來顯示這兩個文件,那麼他們的差異也就一覽無余了。

  test1

  test2

  unix test

  微軟操作系統下的文件(如記事本文件),行的結束符都要用兩個字符表示,即為\r與\n。但是Unix操作系統下的文件,行的結束符則只用一個字符表示,即\n.\r與\n兩個字符的八進制值分別為015與012,\r與\n是轉義字符的表示方法。利用od –bc命令就可以用八進制顯示結果。如果要把Dos文件格式轉換為Unix文件格式,則需要把每行後面一個多於的\n符號去掉。相反,如果要把Unix文件轉換為微軟操作系統支持的格式,則需要在每行後面加入\n符號。這個原理雖然簡單,但是操作起來卻有一定的難度。如果內容少的話,那麼手工更改也沒有多少工作量。但是如果一個文件有數百行、上千行,那麼手工更改的話可不是一個好主意。為此需要借助一定的工具或者命令,來實現這個自動轉換的功能。

  利用od –bc命令可以以八進制的形式顯示結果。在實際工作中,八進制對於系統工程師來說,具有很大的實用價值。為什麼呢?這要從八進制的運算機制開始說起。所謂八進制,就是其基數為8,基數值可以取0、1、2、3、4、5、6、7共8個值,逢八進一。 八進制與十進制運算規則一樣。那麼為什麼要用八進制多此一舉呢?實際上,八進制的引用,主要是為了書寫和表示方便,因為二進制表示位數比較長。例如數字10 用二進制表示為(、10000000000,共有11個數字。用八進制表示為8。更重要的是,由於二進制與八進制存在在一種對等關系,每三位二進制與一位八進制數完全對等。所以二進制和八進制在運算上無區別,而十進制不具備這一優點。而最重要的是,因為操作系統中都是采用二進制來表示的。而由於二進制與十進制存在完全對等的關系,所以系統工程師在有時更傾向於采用八進制來顯示結果。為此系統工程師如果要提高自己的業務水平,那麼就需要多多去了解一下八進制的顯示格式與運算邏輯。

Copyright © Linux教程網 All Rights Reserved