Unix文本文件知識講解
Unix操作系統(tǒng)設(shè)計理念先進(jìn),當(dāng)前許多流行的技術(shù)和方法如微內(nèi)核技術(shù)、進(jìn)程通信方法、TCP/IP協(xié)議、客戶/服務(wù)模式等都源自Unix,Unix幾乎對近代的操作系統(tǒng)都產(chǎn)生了影響。這次,我們來學(xué)習(xí)下Unix文本的知識。
整個Unix操作系統(tǒng)可分為五層:***層是裸機(jī),即硬件部分;第二層是UNIX的核心,它直接建立在裸機(jī)的上面,實現(xiàn)了操作系統(tǒng)重要的功能,如進(jìn)程管理、存儲管理、設(shè)備管理、文件管理、網(wǎng)絡(luò)管理等,用戶不能直接執(zhí)行UNIX內(nèi)核中的程序,而只能通過一種稱為"系統(tǒng)調(diào)用"的指令,以規(guī)定的方法訪問核心,以獲得系統(tǒng)服務(wù)。
第三層系統(tǒng)調(diào)用構(gòu)成了第四層應(yīng)用程序?qū)雍偷诙雍诵膶又g的接口界面;應(yīng)用層主要是Unix操作系統(tǒng)的核外支持程序,如文本編輯處理程序、編譯程序、系統(tǒng)命令程序、通信軟件包和窗口圖形軟件包、各種庫函數(shù)及用戶自編程序。
Unix操作系統(tǒng)的最外層是Shell解釋程序,它作為用戶與操作系統(tǒng)交互的接口,分析用戶鍵入的命令和解釋并執(zhí)行命令,Shell中的一些內(nèi)部命令可不經(jīng)過應(yīng)用層,直接通過系統(tǒng)調(diào)用訪問核心層。
用utrledit打開Unix文本文件時總會提示:是否將文件轉(zhuǎn)換為dos格式。以前一直不知道為什么。前段時間做項目,在windows編輯 shell,然后用ftp上傳到linux主機(jī),發(fā)現(xiàn)不能運(yùn)行。由于沒有經(jīng)驗,分析了半天。
不過***終于得出了結(jié)論:dos和Unix文本文件格式有區(qū)別,這也是為什么前邊提到utraledit會提示的原因。具體分析,在utrledit下打開分別打開一個dos和Unix的文本文件,然后選擇hex 編輯,即可看到其編碼內(nèi)容。
原來Unix下的回車是用0x0A表示的,而dos下的回車則是0x0D0A。如果我們用wordpad打開Unix文本文件,會發(fā)現(xiàn)其換行處都不能正確識別。
分析了原因,就要找到解決的辦法。在windows下用utraledit編輯后,可以在文件菜單下找到轉(zhuǎn)換為Unix格式,然后再上傳主機(jī)。但是這時還有問題,因為有的ftp工具可以選擇以文本或者二進(jìn)制格式傳輸,這時則必須選擇二進(jìn)制,否則傳輸時又會被改為dos格式。
關(guān)于Unix文本的知識,我們就講解到這里。其實在Unix下已經(jīng)有一個工具 dos2Unix可以直接將dos格式文件轉(zhuǎn)換為Unix格式。看來各個系統(tǒng)間的區(qū)別不僅是在大的方面,也體現(xiàn)在這種細(xì)微的地方。
【編輯推薦】