linux shell學習之路 核心

2021-09-26 13:56:26 字數 1522 閱讀 2688

1. 最近有點迷linux 的shell 程式設計,但是乙個人默默的看書,實踐 > 感覺快沒動力了, 枯燥又無聊,所以寫部落格啦,把知識分享出來就有動力了^_^;

2. linux 結構:結構就不說了,太多,懶得寫,想知道的童鞋自己看書,或者耐心等待後續博文哈,每一篇博文講的就是linux的部分結構;

3. 核心: linux 核心,顧名思義,是linux最關鍵的部分,主要分為記憶體,程序,硬體,軟體四個部分;

3.1 核心-記憶體管理:

linux 上記憶體分為硬碟記憶體[物理空間]和虛擬記憶體,其中虛擬記憶體由linux 根據物理記憶體和採用的檔案系統建立, 類似於這樣, 記憶體結構可以看做是很多記憶體頁面組成的陣列或者集合, 核心會維護乙個記憶體頁面表,用於記錄哪些記憶體頁面存在於物理記憶體還是虛擬記憶體;一段內未訪問的記憶體頁面會被從物理記憶體換到交換空間-換出; 需要使用這個被換出的記憶體頁面時, 物理記憶體將會換出一塊記憶體頁面,用來騰出空間--換入;也就是說,linux記憶體頁面的執行都是在物理記憶體上進行的;

3.2  核心-程序

linux 內建了乙個初始化程序[init],  啟動時會將初始程序載入進虛擬記憶體,由它來啟動其他程序,所以會出現 kill -9 1 這句命令失效的情況;程序入口在/etc/inittab檔案表或者/etc/init.d目錄下的指令碼通過/etc/rcx.d(x為執行級別)目錄下的入口啟動, 執行級別使用比較多的有: 1 :單使用者模式,一般是root使用者登入;  3.: 標準模式,會啟動大多數應用程式和服務 ; 5 : 在3的基礎上開啟影象化的x windows 允許使用者通過桌面圖形化工具登入;

3.3 核心-硬體

linux的裝置檔案可以看做是一種特殊格式的檔案,跟其他資料沒有什麼區別, 軟體要使用硬體,必須載入硬體裝置的驅動, linuxy也是一樣,;linux載入裝置驅動大概兩種方式:  1. 預先編譯進核心的裝置驅動,我們基本用不著; 2. 可插入核心的裝置驅動模組,這才是我們常用的;

1. 裝置檔案大概有三種格式:

1.1  字元型: 每次只能處理乙個字元,大多數調製調節器和終端都是這種檔案格式

1.2 塊檔案: 每次處理大量數,比如硬碟;

1.3 網路裝置檔案: 用於資料報的接收和傳送,比如各種網絡卡和協同各種常見網路協議的回環裝置

2. linux 會為每個裝置建立乙個唯一的數值對,包含主裝置號和次裝置號,每種類似的都會歸類於乙個 主裝置號下面, 可以看做是: 各個主裝置號是乙個個陣列,每個主裝置號裡面存放各個類似的裝置;

3.4 核心-檔案系統

1. linux  需要訪問硬碟,就需要將硬碟格式化,然後通過其支援的檔案系統訪問和讀寫硬碟;

2. linux 採用虛擬檔案系統(virtaul, file,system,vfs)作為與每個檔案系統互動的介面,當每個檔案系統都被掛載和使用時,fs將資訊都快取在     記憶體中;也就是說我們只需要乙個公共介面就可以訪問各個不同檔案系統;

最後: 這些理論內容暫時就這樣吧,對於理論總是提不起多大興趣,除非有用到,接下來,直接進入shell指令碼的使用;

webpack學習之路之webpack核心概念

webpack相關文件 webpack官網 webpack中文官網 webpack github位址 webpack 版本差異及修復bug webpack 主要4個核心概念 1 entry entry是某一段 的入口,這段 入口會告訴webpack 裡面有哪些模組的依賴。entry也是打包的入口,告...

linux shell學習筆記

shell程式 將一系列linux程式通過流程控制寫在乙個文字檔案中,由shell讀取此文字檔案並且依次執行檔案中的程式。例子 bin bash 代表shell程式的注釋 echo hello linux echo this is a shell file.shell程式中需要用變數來儲存程式中的資...

linux shell學習總結

1 獲取資料夾或檔名 basename catalina home 輸出tomcat資料夾名稱 2 tar打包過濾資料夾 在命令後新增 exclude include 檔案或資料夾名稱,可以使用 等匹配符 3 獲取系統時間 date y m d h m s 4 ftp檔案重定向 ftp n ftpf...