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