學習linux, 當然是要從linux的基礎開始,學習任何一門技術,都要首先紮實基礎,那麼你後面的路就會越走越順。
關於linux,這裡我不想做過多的介紹。大家都知道,linux是從2023年的時候,有乙個叫linus的人寫了第乙個版本的linux,也就是0.0.1這個版本,當時大概是有8000行的這樣乙個**,後來他加入了gnu,這個組織是打造乙個開源的公共環境。這個組織定義了乙個叫gpl的協議,意思就是做這個系統的時候,必須開源,允許別人修改和傳播,但不能作為商業用途。
現在我們進入課題。
之前我們記得我們給硬體加電的時候,就是硬體在啟動過程。在以前沒有linux作業系統的時候,我們是不是一加電,我們就可以到具體的乙個實體地址去讀我們寫的程式,然後由這個程式去顯示我們想要的東西,無論是列印出來還是幹嘛的。當時後來我們有了作業系統了,很多事情都交給作業系統來完成,我們啟動過程就發生了一些改變,先是加電,加完電過後通過我們的bios,因為加完電之後,我們的cpu就要到具體的乙個實體地址去取東西,取到的是乙個bios,所以所bios是依託於我們系統之外的,然後bios又去乙個具體的地方,這個地方就是我們儲存空間的首位址,對於我們硬碟來說就是零符道的第一扇區,如果是軟盤啟動也是第一扇區。那麼去到第一扇區找到啟動入口,這個啟動入口對於我們linux而然,就是找到了grub這樣的乙個引導程式,這個引導程式就會根據具體情況,因為它知道我們作業系統是在什麼地方的,所以它就去載入我們作業系統的核心。那麼載入核心之後還有很多步驟,那麼其中乙個就是要先去掛載我們的檔案系統,因為有了檔案系統我們才能去訪問,才能去儲存。所以這個就是這樣的乙個過程。那麼載入了系統核心之後我們還要啟動什麼呢。我們還要啟動我們的系統服務,系統服務要去啟動我們的應用程式,這樣我們整個作業系統就載入完了。
那麼下面我們想一下,如果我們要設計乙個作業系統,那我們要怎麼開始來設計呢?
至少我們認為,做乙個作業系統的話,我們首先,作業系統至少要知道怎麼去啟動,所以引導必須要有乙個入口,其次,這個作業系統至少要能訪問我們的磁碟儲存,這個我們稱之為檔案系統;再次,我們作業系統是不是要有使用者管理,這個先不說,作業系統也有可能是單使用者的。作業系統必須跑程式,那麼跑程式是怎麼跑的呢,那就是要載入到記憶體裡面,那麼要怎麼來存放呢,我們稱之為程序。當然,進城後面我們又誕生了執行緒這些概念。再其次,我們呢在存放程序的時候,是不是該有記憶體管理。這個就是我們要考慮作業系統的最核心的部分。
我們現在無法去設計乙個作業系統,我們就選乙個作業系統,當然是選我們的ubuntu了。
ubuntu是乙個很好的乙個開源的,是android指定的乙個作業系統,那就很方便,ubuntu發展也很快,現在ubuntu已經開始支援arm架構了。
ubuntu官網: www.ubuntu.com
在使用ubuntu和安裝ubuntu之前,我們先來了解一下linux作業系統的核心架構。
那麼典型的linux作業系統是什麼樣子的 ?
linux的主要特點就是:它對硬體的要求是比較低的,因為linux它的圖形介面是設計到它系統程式去支援的,也就是說它的核心就考慮到圖形介面這一塊,還有linux預設情況下是沒有圖形介面的。它的圖形介面無非就是進行了乙個協議層的封裝。
認識ubuntu的一些版本。long-term表示長期維護的乙個版本。
desktop
server
還有乙個cloud版本
ubuntu的安裝
1、安裝前的準備工作
(1)硬體準備:這個沒什麼好說的,一般現在只要能跑得動的電腦都可以裝。
(2)vmware
(3)檔案系統 :
1、什麼是檔案系統?
簡單來說,檔案系統其實就是一種儲存和組織計算機檔案和資料的方法。只不過我們把它做成了一 個 種系統服務。它其實也是乙個軟體程式。
2、檔案系統通用結構 ?
fat32 ntfs
ext3 swap
我們想象一下,我們在磁碟上放乙個檔案,我們windows系統是不是有分割槽這個概念,linux沒 有。但linux有引導這個概念,首先我們要去引導它們,所以我們在定義檔案系統的時候首先要有 乙個引導塊,其二,我們針對這個磁碟,我們是要儲存磁碟資訊的,比如說我們磁碟有多大,每個 扇區的大小是多少,這個稱之為master,超級塊。其三,我們是不是有乙個資料庫去存放資料, 這個就是我們的資料塊。我們訪問資料快是因為我們有索引區,我們又inode。
3、檔案系統的分類
磁碟檔案系統
ntfs, ext3(日誌檔案系統)
快閃儲存器檔案系統
jffs2,yaffs
資料庫檔案系統
bfs,winfs
網路檔案系統
nfs虛擬檔案系統
vfs(proc)
4、ext3 swap
2、安裝 ubuntu desktop & server
linux檔案及檔案系統:
一切皆檔案
檔案屬性
linux檔案目錄結構
檔案型別(7種)
一般檔案 -
目錄檔案 d
鏈結檔案 l
塊裝置 b
字元裝置 c
socket s
管道 p (其實就是把乙個程式的出口寫到另外乙個程式的入口)
abp及實戰框架概述
接觸abp也快一年了,有過大半年的abp專案開發經驗,目前專案中所用的abp框架版本為0.10.3,最新的abp框架已經到了1.4,並且支援了asp.net core。關於abp框架有哪些特性 有什麼好處我這裡就不講了。如果你對abp不太了解請先去 abp官網 了解或者參考我的學習之路裡面的鏈結。在...
LINUX基礎操作及命令
tab 自動補全,按兩下為檢視相關所有資訊 強制換行 當命令過長時可以換到下一行繼續編輯,且與上一行結尾時連續的 ctrl u 從當前游標清空至行首 ctrl k 從當前游標清空至行尾 ctrl l 清屏 ctrl c 取消本次命令編輯,中斷當前動作 ctrl a 使游標跳轉至當前行首 ctrl e...
linux作業系統終端基礎命令概述
根目錄,一般根目錄下只存放目錄,在 linux 下有且只有乙個根目錄,所有的東西都是從這裡開始 當在終端裡輸入 home,其實是在告訴電腦,先從 根目錄 開始,再進入到 home 目錄 bin usr bin 可執行二進位制檔案的目錄,如常用的命令 ls tar mv cat 等 boot 放置 l...