標簽(空格分隔): Linux實戰教學筆記 陳思齊 第1章 Linux簡介 1.1 什麼是操作系統? 簡單講: 操作系統就是一個人與電腦硬體的中介。 操作系統,英文名稱Operating System,簡稱OS,是電腦系統中必不可少的基礎系統軟體,它是應用程式運行以及用戶操作必備的基礎環境支撐, ...
標簽(空格分隔): Linux實戰教學筆記-陳思齊
第1章 Linux簡介
1.1 什麼是操作系統?
簡單講:操作系統就是一個人與電腦硬體的中介。
- 操作系統,英文名稱Operating System,簡稱OS,是電腦系統中必不可少的基礎系統軟體,它是應用程式運行以及用戶操作必備的基礎環境支撐,是電腦系統的核心。
操作系統的作用是管理和控制電腦系統中的硬體和軟體資源,例如,它負責直接管理電腦系統的各種硬體資源,如對CPU,記憶體,磁碟等的管理,同時對系統資源供需的優先次序進行管理。操作系統還可以控制設備的輸入,輸出以及操作網路與管理文件系統等事務。同時,它也負責對電腦系統中各類軟體資源的管理。例如各類應用軟體的安裝,運行環境設置等。
操作系統就是處於用戶與電腦系統硬體之間用於傳遞信息的系統程式軟體。例如:操作系統會在接收到用戶輸入的信息後,將其傳給電腦系統硬體核心進行處理,然後再把電腦系統硬體的處理結果返回給使用者。
思考一下世界上什麼操作系統使用率最高?
1.2 什麼是Linux?
- 類似windows,Linux也是一個操作系統軟體,Linux是一套開放源代碼程式的,並可以自由傳播的類Unix操作系統軟體,多用戶,多任務並且支持多線程和多CPU的操作系統。
- Linux系統主要被應用於伺服器端,嵌入式開發和個人PC桌面3大領域,其中伺服器端領域是重中之重。 BAT(百度,阿裡,騰訊)
- 我們熟知的大型,超大型互聯網企業(百度,Sina,淘寶等)都在使用Linux系統作為伺服器端的程式運行平臺,全球及國內排名前十的網站使用的主流系統幾乎都是Linux系統。
- 我們熟知的大型,超大型互聯網企業(百度,sina,淘寶等)都在使用Linux系統作為其伺服器端的程式運行平臺,全球及國內排名前十的網站使用的主流系統幾乎都是Linux系統。
從上面的內容可以看出,Linux操作系統之所以如此流行,是因為它具有如下一些特點:
- 是開放源代碼的程式軟體,可自由修改
- Unix系統相容,具備幾乎所有Unix的優秀特性
- 可自由傳播,無任何商業化版權制約
- 適合Intel等X86CPU系統架構的電腦
技巧:學會對階段性知識的小結是學好運維的關鍵
1.3 Linux的起源
1.3.1 Unix的歷史
Unix系統於1969年在AT&T的貝爾實驗室誕生,20世紀70年代,它逐步盛行,這期間,又產生了一個比較重要的分支,就是大約1977年誕生的BSD(Berkeley Software Distribution)系統。從BSD系統開始,各大廠商及商業公司開始了根據自身公司的硬體架構,並以BSD系統為基礎進行Unix系統的研發,從而產生了各種版本的Unix系統,例如:SUN公司的Solaris,IBM公司的AIX,HP公司的HPUNIX等。
Unix的5大優勢特性
- 技術成熟,可靠性高
- 極強的可伸縮性
Unix支持的CPU處理器體系架構非常多,包括Intel/AMD及HP-PA,MIPS,PowerPC,UltraSPARC,ALPHA等RISC晶元,以及SMP,MPP等技術
提示:可能是由於早期各大廠商都基於Unix進行適合自己的硬體開發,因此,Unix支持的CPU架構才更多。
- 強大的網路功能
Internet互聯最重要的協議TCP/IP就是在Unix上開發和發展起來的。此外,Unix還支持非常多的常用的網路協議,如NFS,DCE,IPX/SPX,SLIP,PPP等 - 強大的資料庫支持能力
Oracle,DB2,Sybase,Informix等大型資料庫,都把Unix作為其主要的資料庫開發和運行平臺,一直到目前為止,依然如此。 - 強大的開發能力
正是Unix促使了C語言的誕生
1.4 Unix操作系統的革命
- 70年代中後期,由於各廠商及商業公司開發的Unix及內置軟體都是針對自己公司特定硬體的,因此在其他公司的硬體上基本上無法直接運行。
- 70年代末,Unix又面臨了突如其來的被AT&T回收授權的重大問題,特別是要求禁止對學生群體提供Unix系統源代碼。
- 也是在80年代初期,同樣是由於之前的Unix系統版權和源代碼限制等問題,使得當時大學里教學Unix系統的束縛很大。因此,當時的一個大學的教授,名字為Andrew Tanenbaum (譚寧邦),基於之前還在開源的Unix部分開發了一個可以運行於x86PC平臺的系統,這個系統的名字為Minix
- 由於譚寧邦開發的這個Minix系統的目的只是用於教學,因此,Minix系統的功能無法滿足商用的需求,但是Minix的產生對於Linux的誕生又是至關重要的一個部分。
- 1984年,Richard Stallman發起了開發自由軟體的運動,併成立了自由軟體基金會(Free Software Foundation,FSF)和GNU項目。
- 當時發起這個自由軟體運動和創建GNU項目的目的其實很簡單,就是想開發一個類似Unix系統,並且是自由軟體的完整操作系統,也就是要解決70年代末Unix版權問題以及軟體源代碼面臨閉源的問題,這個系統叫做GNU操作系統。
這個GNU系統後來沒有流行起來。現在的GNU系統通常是使用Linux系統的內核,以及使用了GNU項目貢獻的一些組件加上其它相關程式組成,這樣的組合被稱為GNU/Linux操作系統。
2.4 Linux的誕生
Linux系統的誕生開始於芬蘭赫爾辛基大學的一位電腦系的學生,名字為Linus Torvalds。
Linux的標誌和吉祥物為一隻名字叫做Tux的企鵝--Torvalds‘ Unix
1.5 Linux 的發展歷程
1,linux的發展歷程簡介
1)1984年,Andrew S.Tanenbaum開發了用於教學的Unix系統,命名為MINIX。
2)1989年,Andrew S.Tanendaum將MINIX系統運行於x86的PC電腦平臺
3)1990年,芬蘭赫爾辛基大學學生Linus Torvalds首次接觸MINIX系統
4)1991年,Linux Torvalds開始在MINIX上編寫各種驅動程式等操作系統內核組件。
5)1991年底,Linus Torvalds公開了Linux內核源代碼0.02版,註意,這裡公開的Linux內核源碼並不是我們現在使用的Linux系統的全部,而僅僅是Linux內核kernel部分的代碼。
6)1993年,Linux1.0版發行,Linux轉向GPL版權協議
7)1994年,Linux的第一個商業發行版Slackware問世。
8)1996年,美國國家標準技術局的電腦系統實驗室確認Linux版本1.2.13(由Open LInux公司打包)符合POSIX標準
9)1999年,Linux的簡體中文發行版問世
10)2000年後,Linux系統日趨成熟,涌現大量基於Linux伺服器平臺的應用,並廣泛應用於基於ARM技術的嵌入式系統中。
2,Linux發展歷程中相關人物
我們一定要向前輩們致以深深地敬意,沒有他們,就沒有今天的Linux系統存在了。
第2章 Linux核心概念知識
2.1 自由軟體與FSF
1,自由軟體
簡單地理解,自由軟體的核心就是沒有商業化軟體版權制約,源代碼開放,可無約束自由傳播。
註意:自由軟體強調的是權利問題,而非是否免費的問題。大家一定要理解這個概念,自由軟體中的自由是“言論自由”中的“自由”,而不是“免費啤酒”中的“免費”。
自由意味著freedom,而免費意味著free,這是完全不同的概念。例如:RedHatLinux自由但不免費,CentOS Linux是自由且免費的。
自由軟體關乎使用者運行,複製,發佈,研究,修改和改進該軟體的自由。
2,2 自由軟體基金會FSF
FSF(Free Software Foundation)的中文意思是自由軟體基金會,是Richard Stallman於1984年發起和創辦的。FSF的主要項目是GNU項目。GNU項目本身產生的主要軟體包括:Emacs (神一樣的軟體)gcc,bash和編程語言,以及gawk(GNU‘s awk)等。
2.3 GNU知識
GNU的全程為GNU‘s not unix,意思是“GNU不是UNIX“,GNU計劃,又稱革奴計劃,是由Richard Stallman 在1984年公開發起的,是FSF的主要項目。前面已經提到過,這個項目的目標是建立一套完全自由的和可移植的類Unix操作系統。
但是GNU自己的內核Hurd仍在開發中,離實用還有一定的距離。
現在的GNU系統通常是使用Linux系統的內核,加上GNU項目貢獻的一些組件,以及其它相關程式組成的,這樣的組合被稱為GNU/Linux操作系統,
到1991年linux內核發佈的時候,GNU項目已經完成了除系統內核之外的各種必備軟體的開發。在Linus Torvalds和其它開發人員的努力下,GNU項目的部分組件又運行到了Linux內核之上,例如:GNU項目里的Emacs,gcc,bash,gawk等,至今都是Linux系統中很重要的基礎軟體。
2.4 GPL知識
GPL全稱為General Public License,中文名為通用公共許可,是一個最著名的開源許可協議,開源社區最著名的Linux內核就是在GPL許可下發佈的。GPL許可是自由軟體基金會(Free Software foundation)創建的。
1984年,Richard Stallman發起開發自由軟體的運動後不久,在其他人的協作下,他創立了通用公共許可證(GPL),這對推動自由軟體的發展起了至關重要的作用,那麼,這個GPL到底是什麼意思呢?
簡單的理解,GPL許可的核心,是保證任何人有共用和修改自由軟體的自由,任何人有權取得,修改和重新發佈自由軟體的源代碼權利,但都必須同時給出具體更改的源代碼。
雖然整個Linux內核是基於GNU通用公共許可的,但是Linux內核並不是GNU計劃的一部分。這一點,請不要混淆。
FSF(公司)==>GPL(項目)==>emacs gcc bash gawk
FSF(公司)==>GPL(項目) ==>自由傳播 修改源代碼 但是必須把修改後的源代碼也要發佈出來
Linus Torvalds==>linux內核
2.5 Linux系統組成
Linux操作系統=linux內核+GNU軟體及系統軟體+必要的應用程式
第3章 Linux的特點
3.1 Linux為什麼受歡迎?
Linux系統之所以受到廣大電腦愛好者的喜愛,主要原因有兩個:
一是,Linux屬於自由軟體,用戶不用支付任何費用就可以獲得系統和系統的源代碼,並且可以根據自己的需要對源代碼進行必要的修改,無償使用,無約束地自由傳播。
二是,Linux具有Unix的全部優秀特性,任何使用Unix操作系統或想要學習Unix操作系統的人,都可以通過學習Linux來瞭解Unix,同樣可以獲得Unix中的幾乎所有優秀功能,並且Linux系統更開放,社區開發和全世界的使用者也更活躍。
第4章 如何選擇Linux的發行版
4.1 Linux的發行版本介紹
- Linux內核(kernel)版本主要有4個系列,分別為Linux kernel2.2,Linux kernel2.4,Linuxkernel2.6,Linux kernel3.x,更多更新版本請瀏覽kernel官網,點擊即可
- linux的發行商包括Slackware,Redhat,Debjan,Fedora,TurboLinux,Mandrake,SUSE,CentOS,Ubuntu,紅旗,麒麟...
下麵看看其中幾個重要的發行版本。
1)Red Hat:Red Hat Linux9.0的內核為2.4.20.在版本9.0後,Red Hat 不再遵循GPL協議,成為收費產品(但仍開源),發展的新版本依次為Red Hat 3.x,Red Hat 4.x,Red Hat 5.x Red Hat 6.x,Red Hat 7.x .
2)Fedora:為Red Hat的一個分支,仍遵循GPL協議,可以認為是RedHat預發佈版。(游戲公測)
3)CentOS(Community Enterprise Operationg System):與redhat做到二進位級別的一摸一樣。RedHat的另一個重要分支,以RedHat所發佈的源代碼重建符合GPL許可協議的Linux系統,即將Red Hat Linux 源代碼的商標LOGO以及非自由軟體部分去除後再編譯而成的版本,目前CentOS已被RedHat公司收購,但仍開源免費。CentOS Linux是國內互聯網公司使用最多的Linux系統版本。
提示:有關Linux操作系統,記住Redhat,CentOS,Ubuntu,Fedora,SUSE,DEbian等即可。Redhat與CentOS的區別和聯繫,有時會被面試官問到,需要重點瞭解。
4.2 Linux發行版本應用場景
4.3 CentOS的主流版本再國內互聯網企業的使用現狀說明
- CentOS 5系列:占25%左右,主流版本有CentOS 5.5,CentOS5.11,不推薦學習。===>Linux 2.4
- CentOS 6系列:占45%左右,主流版本有CentOS 6.2,CentOS 6.4,CentOS 6.6,CentOS 6.8 ===>Linux 2.6
- CentOS 7 系列:剛剛發佈不久,目前極少企業正式使用,因此不建議玩它。這裡有一個企業使用的大環境問題,因為學完了沒地方用不說,企業實際用的CentOS 5和CentOS 66系列你反而不會,那樣就捨本逐末了,先學習6,再過2年等企業用上了CentOS7,輕鬆就可以轉過去,根據企業的主流應用選擇才是明智的。
4.4 為什麼企業環境要選擇64位操作系統?
- 目前絕大多數企業生產環境中,使用的都是64位CentOS系統,32位與64位系統的定位和區別。
- 區別一:當初設計時定位不同。64位操作系統的設計定位是:滿足機械設計和分析,三維動畫,視頻編輯和創作,以及科學計算和高性能計算應用程式等領域,這些應用領域的共同特點就是需要有大量的系統記憶體和浮點性能。簡單地說,64位操作系統是為高科技人員使用本行業特殊軟體的運行平臺而設計的。而32位操作系統是為普通用戶設計的。
- 區別二:安裝要求配置不同。64位操作系統只能安裝在64位電腦上(CPU必須是64位的),並且只在針對64位的軟體時才能發揮最佳性能。32位操作系統可以安裝在32位(32位CPU)電腦上,也可以安裝在64位(64CPU)電腦上。當然,此時32位的操作系統是無法發揮674位硬體性能的。
- 區別三:運算速度不同:
64位===>8車道大馬路(2^8)
32位===>4車道馬路(2^2) - 區別四:定址能力不同
支持的最大記憶體不同
32位系統 4GB 記憶體
64位系統 128GB 記憶體
小面試題:你們公司伺服器使用的版本是什麼?
CentOS 6.8 x86_64 內核版本 2.6.32
小結:
本章重點回顧:
1)瞭解什麼是操作系統以及操作系統簡單原理圖
2)瞭解Unix發展歷史
3)瞭解市面上的常見Unix系統版本
4)瞭解Unix及Linux誕生髮展的幾個關鍵人物
5)重點瞭解GNU GPL FSF的知識
6)瞭解Linux系統的特點
7)瞭解Linux系統的常見發行版本,不同場景選擇
8)重點瞭解CentOS和Redhat的區別和聯繫
9)瞭解CentOS各個版本的應用場景及企業應用情況
10)學習搭建學習Linux的環境
本章知識相關面試題:
1)請詳細描述GNU的相關知識和歷史事件?
2)請描述什麼是GPL以及GPL的內容細節?
3)企業工作中如何選擇各Linux發行版?
4)Red Hat Linux和CentOS Linux有啥區別和聯繫?