自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

老曹眼中的Linux基礎(chǔ)

開發(fā) 開發(fā)工具
Linux 幾乎無處不在,不論是服務(wù)器構(gòu)建,還是客戶端開發(fā),對操作系統(tǒng)的基本理解和基礎(chǔ)技能的掌握對全棧來說都是必備的。

Linux

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

系統(tǒng)的選擇

Linux發(fā)行版本大體分為兩類,一類是商業(yè)公司維護的發(fā)行版本,一類是社區(qū)維護的發(fā)行版本,前者以著名的Redhat(RHEL)為代表,后者以Debian為代表。

Redhat,可稱為Redhat系列,包括RHEL、Fedora、CentOS(RHEL的社區(qū)克隆版本,免費)。Ubuntu嚴格來說不能算一個獨立的發(fā)行版本,Ubuntu是基于Debian加強而來,一個擁有Debian所有的優(yōu)點,以及自己所加強優(yōu)點的近乎***的Linux桌面系統(tǒng)。Ubuntu社區(qū)認為實用性和創(chuàng)新性高于一切。

如果你需要一個比較穩(wěn)定的服務(wù)器系統(tǒng)而已,那么***的選擇就是CentOS了,安裝完成后,經(jīng)過簡單配置就能提供非常穩(wěn)定的服務(wù)了。但是對云計算而言,unbantu也許不錯,hadoop最早就是在ubantu上開發(fā)的。

體系結(jié)構(gòu)

了解體系結(jié)構(gòu),可以有一個較好的方向感。

Linux 的分層體系

Linux 的分層體系

Linux 有kernel和user兩種模式,內(nèi)核、shell和文件系統(tǒng)一起形成了基本的操作系統(tǒng)結(jié)構(gòu),Linux 內(nèi)核由如下幾部分組成:內(nèi)存管理、進程管理、設(shè)備驅(qū)動程序、文件系統(tǒng)和網(wǎng)絡(luò)管理等。

Linux內(nèi)核

了解linux內(nèi)核,可以充分利用資源,在系統(tǒng)調(diào)優(yōu)時有目標感。

Linux內(nèi)核

Linux 將內(nèi)存劃分為容易處理的內(nèi)存頁,提供了對 4KB 緩沖區(qū)的抽象,例如 slab 分配器。進程實際是某特定應(yīng)用程序的一個運行實體,進程調(diào)度來控制進程對CPU的訪問。Linux 中常見的進程間通訊機制有信號、管道、共享內(nèi)存、信號量和套接字等。 內(nèi)核通過 SCI 提供了一個API來創(chuàng)建一個新進程(fork、exec 或 POSⅨ),停止進程(kill、exit),并在它們之間進行通信和同步(signal 或者 POSⅨ 機制)。Linux 操作系統(tǒng)將獨立的文件系統(tǒng)組合成了一個層次化的樹形結(jié)構(gòu),并且由一個單獨的實體代表這一文件系統(tǒng)。由于 Linux 支持許多不同的文件系統(tǒng),并且將它們組織成了一個統(tǒng)一的虛擬文件系統(tǒng).設(shè)備驅(qū)動程序提供一組操作系統(tǒng)可理解的抽象接口完成和操作系統(tǒng)之間的交互,而與硬件相關(guān)的具體操作細節(jié)由設(shè)備驅(qū)動程序完成。Linux內(nèi)核的網(wǎng)絡(luò)部分由BSD套接字、網(wǎng)絡(luò)協(xié)議層和網(wǎng)絡(luò)設(shè)備驅(qū)動程序組成。 網(wǎng)絡(luò)設(shè)備驅(qū)動程序負責(zé)與硬件設(shè)備通訊,每一種可能的硬件設(shè)備都有相應(yīng)的設(shè)備驅(qū)動程序。

linux 文件系統(tǒng)

Linux系統(tǒng)能支持多種目前流行的文件系統(tǒng),推薦用EXT4。Linux的文件類型主要有:

1) 普通文件,分為純文本和二進制。

2) 目錄文件,存儲文件的地方。

3) 鏈接文件,指向同一個文件或目錄的的文件。

4) 設(shè)備文件,分為塊設(shè)備和字符設(shè)備。

5)管道文件,提供進程間通信

6)套接字文件,與網(wǎng)絡(luò)通信有關(guān)

Linux使用標準的目錄結(jié)構(gòu),安裝程序已經(jīng)為用戶創(chuàng)建了文件系統(tǒng)和完整而固定的目錄組成形式,并指定了每個目錄的作用和其中的文件類型。

linux 文件系統(tǒng)

Linux Shell 及命令

shell是系統(tǒng)的用戶界面,提供了用戶與內(nèi)核進行交互操作的一種接口。shell接收用戶輸入的命令并把它送入內(nèi)核去執(zhí)行,是一個命令解釋器。shell 有很多類型,這里推薦BASH。BASH是GNU的Bourne Again Shell,是GNU操作系統(tǒng)上默認的shell,大部分linux發(fā)行套件使用的都是這種shell。

Linux 的命令很多,下面給出了一個簡單的分類。

Linux 的命令分類

常用命令

在shell 中組織linux 命令來完成一系列的任務(wù),就是shell 編程了。Shell,Perl和Python 是Linux 上最常用的腳本語言,我還是推薦使用Python。

Linux 應(yīng)用

標準的Linux系統(tǒng)一般都有一套都有稱為應(yīng)用程序的程序集,它包括文本編輯器、編程語言、X Window、Internet工具和數(shù)據(jù)庫等。

對于文本編輯而言,Emacs 和vim 各有千秋,通過插件配合甚至可以作為IDE使用。 個人感覺,VIM 還應(yīng)該是必備技能。vim的命令也很多,整理如下:

Linux 應(yīng)用vi命令集

vi命令集

就應(yīng)用的管理而言,ubantu 需熟知apt命令,centos 則是yum命令。當然了,源代碼編譯安裝是必須的,makefile的寫法,configure/autoconfig/make 的用法要手到擒來才好。

【本文來自51CTO專欄作者老曹的原創(chuàng)文章,作者微信公眾號:喔家ArchiSelf,id:wrieless-com】

責(zé)任編輯:趙寧寧 來源: 喔家ArchiSelf
相關(guān)推薦

2017-02-05 16:51:35

網(wǎng)絡(luò)編程網(wǎng)絡(luò)系統(tǒng)

2016-12-01 14:16:18

GitSCM配置

2016-12-01 15:03:36

緩存技術(shù)客戶端

2016-12-19 09:43:59

軟件開發(fā)架構(gòu)

2016-12-02 08:54:18

Lambda代碼云計算

2016-12-01 14:47:05

負載均衡DNS

2017-05-18 14:11:22

CRM圖解交付

2016-12-01 13:53:41

2016-12-02 09:09:18

MySQL調(diào)優(yōu)數(shù)據(jù)庫

2016-12-06 20:01:56

數(shù)據(jù)架構(gòu)數(shù)據(jù)機器學(xué)習(xí)

2024-01-15 15:11:03

物聯(lián)網(wǎng)5G數(shù)字孿生

2018-10-17 22:01:06

2017-09-18 08:21:42

碼農(nóng)AI人工智能

2016-12-08 15:52:09

互聯(lián)網(wǎng)數(shù)據(jù)計算

2018-01-09 15:35:54

Python編程基礎(chǔ)

2017-03-27 08:45:47

全棧技術(shù)管理

2017-04-17 08:44:43

構(gòu)造函數(shù)線程安全

2018-01-16 15:02:20

存儲RAIDSAN

2010-06-10 11:12:43

Linux學(xué)習(xí)Linux文化

2012-03-09 09:45:50

點贊
收藏

51CTO技術(shù)棧公眾號