近幾天一直學習後面的知識,不知道基礎知識掌握的如何,是以回顧一下。
1、計算機基礎知識回顧
計算機的硬體構成以及Linux的發展史就不說了,沒事可以當故事閱讀一下,挺精彩的。
首先回想一下作業系統(operation system)或者說核心(kernel)的角色。
大概畫了一下,作業系統或者說核心控制硬體,任何調用硬體的操作都要經過核心的允許,而在此之上是庫檔案,庫檔案有很多子產品,本來這些子產品可以放進核心裡面的,但是這樣的話,核心自身就會很臃腫,直接做成子產品放入庫檔案吧!好處多多。API,應用程式的開發或者說是程式設計接口,可以調用庫檔案,進行軟體的開發。
這裡要注意一點,就是如果你在一台x86架構的計算機上開發軟體,之後拿到x86_64架構上運作,或者Power,Powerpc等等,反正不是x86的計算機(即使是另一台x86,那庫檔案也要相似才可以)那麼,不出意外的話,是無法進行再次編譯的,也無法運作的!因為,在開發的過程中,作業系統的核心參與了,而且調用硬體裝置,這些都會影響開發的結果!
庫也是系統調用與核心聯系的一條途徑。庫的上面是shell,shell上面是應用程式,應用程式可以說是存在與使用者空間的,此時shell成了使用者與系統互動的通道,shell意義很大啊!
init是系統自身運作起來開始啟動的腳本檔案,很多系統所需要的程序(可以稱為守護程序)都是要啟動的,這樣系統才能正常的運作,是以init是不需要庫、shell作為媒介的。
2、在裝作業系統前,硬碟要分區、格式化、挂載,格式化的過程其實就是建立檔案系統的過程;除此之外,還要選擇語言、時區、鍵盤、輸入法、選擇程式包。這裡順便提一句,有些發行版的Linux是支援自動化安裝的,如Centos6,它的安裝程式是 anaconda,配置檔案 kickstart。
3、Linux核心的版本号。過去有種說法,核心版本奇數是測試版,偶數是穩定版,現在不講究這個啦!但還是有别的說法,如 .rc.d 是release candidate版,就是發行預選版,如果沒有意外,之後便會作為穩定本釋出。mainline 主線版本;stable 穩定版本;longterm 長期維護版(就是說,有一些很老的版本依舊在維護,因為這些版本釋出時曾進行重大的改進,是以可能會有一直用的使用者,這樣就會一直更新,而且,如果在後續的發展中發現了以前沒有發現的bug,也會修複)。
4、linux的終端類型
# tty 檢視
1)虛拟終端 /dev/tty
裝置端使用,文字終端、Xwindows界面,即圖形終端 Ctrl+Alt+Del+F1~F7
2)串行終端 /dev/ttyS#
3)實體終端 /dev/console
一般作為控制台使用,隻是存在與開機的時候
4)模拟終端(僞終端) /dev/pts
圖形模式、遠端登入
這裡順便說下,從文字界面轉換到圖形終端,可以使用# startx & 目前前提是已經安裝startx指令,但要注意,一旦執行指令,在指令執行成功并且沒有停止之前,指令提示符是不會被釋放的,是以一旦指令執行錯誤,可能會遇到指令提示符一直不出來,是以将 & 讓該指令在背景執行,即使執行失敗,Enter即可找到指令提示符,繼續進行其他指令。
5、# tty 顯示目前終端對應的裝置檔案 # ps -l 也可以檢視
# who 顯示目前成功登入系統的使用者及其資訊 # w 也可以檢視
6、Linux系統上面一些哲學思想:
1)一切皆檔案
2)由衆多目的單一的程式組成;一個程式隻能做一件事,且做好
3)組合目的單一的程式完成複雜任務
4)将來避免與使用者互動
5)使用文本儲存配置資訊
6)提供機制,而非政策
其中第五點挺重要的,因為若是一個程式出現錯誤,根據提示,直接更改檔案的文本内容就可以搞定,是不是很友善!當然,前提是要看懂!
6 轉換為二進制 110
1k是8byte
0000 0110 隻占三位
13 1101
0000 1101 占四位
7、GUI
CLI
bsh
csh
ksh
bask
最常用的為bash
在bash中,使用者分為管理者和普通使用者
轉載于:https://blog.51cto.com/mxiansheng/1893279