新聞中心
Linux 幾乎無(wú)處不在,不論是服務(wù)器構(gòu)建,還是客戶端開(kāi)發(fā),對(duì)操作系統(tǒng)的基本理解和基礎(chǔ)技能的掌握對(duì)全棧來(lái)說(shuō)都是必備的。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),新野企業(yè)網(wǎng)站建設(shè),新野品牌網(wǎng)站建設(shè),網(wǎng)站定制,新野網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,新野網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
系統(tǒng)的選擇
Linux發(fā)行版本大體分為兩類,一類是商業(yè)公司維護(hù)的發(fā)行版本,一類是社區(qū)維護(hù)的發(fā)行版本,前者以著名的Redhat(RHEL)為代表,后者以Debian為代表。
Redhat,可稱為Redhat系列,包括RHEL、Fedora、CentOS(RHEL的社區(qū)克隆版本,免費(fèi))。Ubuntu嚴(yán)格來(lái)說(shuō)不能算一個(gè)獨(dú)立的發(fā)行版本,Ubuntu是基于Debian加強(qiáng)而來(lái),一個(gè)擁有Debian所有的優(yōu)點(diǎn),以及自己所加強(qiáng)優(yōu)點(diǎn)的近乎***的Linux桌面系統(tǒng)。Ubuntu社區(qū)認(rèn)為實(shí)用性和創(chuàng)新性高于一切。
如果你需要一個(gè)比較穩(wěn)定的服務(wù)器系統(tǒng)而已,那么***的選擇就是CentOS了,安裝完成后,經(jīng)過(guò)簡(jiǎn)單配置就能提供非常穩(wěn)定的服務(wù)了。但是對(duì)云計(jì)算而言,unbantu也許不錯(cuò),hadoop最早就是在ubantu上開(kāi)發(fā)的。
體系結(jié)構(gòu)
了解體系結(jié)構(gòu),可以有一個(gè)較好的方向感。
Linux 的分層體系
Linux 有kernel和user兩種模式,內(nèi)核、shell和文件系統(tǒng)一起形成了基本的操作系統(tǒng)結(jié)構(gòu),Linux 內(nèi)核由如下幾部分組成:內(nèi)存管理、進(jìn)程管理、設(shè)備驅(qū)動(dòng)程序、文件系統(tǒng)和網(wǎng)絡(luò)管理等。
Linux內(nèi)核
了解linux內(nèi)核,可以充分利用資源,在系統(tǒng)調(diào)優(yōu)時(shí)有目標(biāo)感。
Linux 將內(nèi)存劃分為容易處理的內(nèi)存頁(yè),提供了對(duì) 4KB 緩沖區(qū)的抽象,例如 slab 分配器。進(jìn)程實(shí)際是某特定應(yīng)用程序的一個(gè)運(yùn)行實(shí)體,進(jìn)程調(diào)度來(lái)控制進(jìn)程對(duì)CPU的訪問(wèn)。Linux 中常見(jiàn)的進(jìn)程間通訊機(jī)制有信號(hào)、管道、共享內(nèi)存、信號(hào)量和套接字等。 內(nèi)核通過(guò) SCI 提供了一個(gè)API來(lái)創(chuàng)建一個(gè)新進(jìn)程(fork、exec 或 POSⅨ),停止進(jìn)程(kill、exit),并在它們之間進(jìn)行通信和同步(signal 或者 POSⅨ 機(jī)制)。Linux 操作系統(tǒng)將獨(dú)立的文件系統(tǒng)組合成了一個(gè)層次化的樹(shù)形結(jié)構(gòu),并且由一個(gè)單獨(dú)的實(shí)體代表這一文件系統(tǒng)。由于 Linux 支持許多不同的文件系統(tǒng),并且將它們組織成了一個(gè)統(tǒng)一的虛擬文件系統(tǒng).設(shè)備驅(qū)動(dòng)程序提供一組操作系統(tǒng)可理解的抽象接口完成和操作系統(tǒng)之間的交互,而與硬件相關(guān)的具體操作細(xì)節(jié)由設(shè)備驅(qū)動(dòng)程序完成。Linux內(nèi)核的網(wǎng)絡(luò)部分由BSD套接字、網(wǎng)絡(luò)協(xié)議層和網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序組成。 網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序負(fù)責(zé)與硬件設(shè)備通訊,每一種可能的硬件設(shè)備都有相應(yīng)的設(shè)備驅(qū)動(dòng)程序。
linux 文件系統(tǒng)
Linux系統(tǒng)能支持多種目前流行的文件系統(tǒng),推薦用EXT4。Linux的文件類型主要有:
1) 普通文件,分為純文本和二進(jìn)制。
2) 目錄文件,存儲(chǔ)文件的地方。
3) 鏈接文件,指向同一個(gè)文件或目錄的的文件。
4) 設(shè)備文件,分為塊設(shè)備和字符設(shè)備。
5)管道文件,提供進(jìn)程間通信
6)套接字文件,與網(wǎng)絡(luò)通信有關(guān)
Linux使用標(biāo)準(zhǔn)的目錄結(jié)構(gòu),安裝程序已經(jīng)為用戶創(chuàng)建了文件系統(tǒng)和完整而固定的目錄組成形式,并指定了每個(gè)目錄的作用和其中的文件類型。
Linux Shell 及命令
shell是系統(tǒng)的用戶界面,提供了用戶與內(nèi)核進(jìn)行交互操作的一種接口。shell接收用戶輸入的命令并把它送入內(nèi)核去執(zhí)行,是一個(gè)命令解釋器。shell 有很多類型,這里推薦BASH。BASH是GNU的Bourne Again Shell,是GNU操作系統(tǒng)上默認(rèn)的shell,大部分linux發(fā)行套件使用的都是這種shell。
Linux 的命令很多,下面給出了一個(gè)簡(jiǎn)單的分類。
常用命令
在shell 中組織linux 命令來(lái)完成一系列的任務(wù),就是shell 編程了。Shell,Perl和Python 是Linux 上最常用的腳本語(yǔ)言,我還是推薦使用Python。
Linux 應(yīng)用
標(biāo)準(zhǔn)的Linux系統(tǒng)一般都有一套都有稱為應(yīng)用程序的程序集,它包括文本編輯器、編程語(yǔ)言、X Window、Internet工具和數(shù)據(jù)庫(kù)等。
對(duì)于文本編輯而言,Emacs 和vim 各有千秋,通過(guò)插件配合甚至可以作為IDE使用。 個(gè)人感覺(jué),VIM 還應(yīng)該是必備技能。vim的命令也很多,整理如下:
vi命令集
就應(yīng)用的管理而言,ubantu 需熟知apt命令,centos 則是yum命令。當(dāng)然了,源代碼編譯安裝是必須的,makefile的寫法,configure/autoconfig/make 的用法要手到擒來(lái)才好。
【本文來(lái)自專欄作者老曹的原創(chuàng)文章,作者微信公眾號(hào):喔家ArchiSelf,id:wrieless-com】
網(wǎng)站名稱:老曹眼中的Linux基礎(chǔ)
網(wǎng)頁(yè)鏈接:http://fisionsoft.com.cn/article/ccsdosh.html


咨詢
建站咨詢
