1. 程式人生 > 其它 >Linux基礎 -01

Linux基礎 -01

01Linux快速入門

1.計算機組成原理

1.1什麼是計算機

  • 計算機一般被稱為"電腦",即通電的大腦
    • 電腦二字蘊含了人類對計算機的終極期望;
    • 希望它能像人腦一樣為我們工作,從而取代人力,解放人類

1.2 為什麼要有計算機

  • 為什麼要有計算機,或者人類為什麼要造計算機?
    • 其實是為了執行人類的程式,從而將人力解放出來;(因為
      人存在很多不可控因素)
    • 所以計算機在造的時候,它每一部分的設計都是在模仿人的
      某個器官或功能去設計的

1.3 計算機五大組成部分

  • 計算機由五大元件組成,我們完全可以把計算機的五大元件比喻成人類的各個器官
    • 控制器
    • 運算器
    • 儲存器
    • 輸入裝置Input/I裝置
    • 輸出裝置Output/O裝置

1.3.1 CPU

  • 控制器:
    • 作用:是計算機的指揮系統,主要負責控制計算機其他所有
      元件如何工作的;
    • 比如:走路、跑、跳、說話都是誰在控制呢?
    • 類比:控制器-->人類大腦;
  • 運算器:
    • 作用:運算及字面含義,主要包含數學運算、邏輯運算;
    • 比如:1+1=數學運算;上車看見好看姑娘,追還是不追=邏
      輯運算;
    • 類比:運算器-->人類大腦
  • 小結:
    • 其實控制器和運算器壓根就不是兩個硬體
    • 控制器+運算器其實就是 CPU(晶片) --> 人類的大腦(前腦
      +後腦)
  • CPU 其他知識:
    • CPU 路數:伺服器中有多少個 CPU ; 單路=1個CPU 雙路=2個
      CPU
    • CPU 核數:決定來了伺服器並行(同時 )處理任務的能力;
      1顆物理CPU,6個執行緒
    • CPU 超執行緒:所謂的超執行緒就是一項CPU的技術,原本CPU
      的核心和執行緒數量是對等的,利用了超執行緒的技術可以讓一
      個核心對應多個執行緒:
      • i7 9700K :8核心 16執行緒 超執行緒
      • i7 9800X :8核心 8執行緒
    • 原生原生只能做8個核心同時工作,而超執行緒的能做16個核心同
      時工作;
    • 超執行緒CPU在同一時間能夠開更多的程式,能夠有效的利用
      資源,從而提高整體的執行效率

1.3.2 記憶體/硬碟

  • 儲存器/IO:
    • 作用:負責程式資料的存取,對於計算機來說,有了儲存
      器,才有記憶功能;
    • 分類:
      • 記憶體:記憶體基於電工作,通電就可以儲存資料;
        • 優勢:存取資料快;
        • 缺點:斷電資料會丟失,僅能臨時儲存資料;
      • 外存:外接硬碟,基於磁工作;
        • 優勢:斷電資料不會丟失,可以永久儲存資料;
        • 缺點:存取速度慢;
    • 類比:
      記憶體-->大腦的記憶功能(快、短期記憶);
      硬碟-->隨身攜帶小本本(慢、長期記憶);
    • 舉例:
      • 女朋友的生日假設是 (0921) ,我們一般記憶在哪最合
        適;
        • 1.可以記憶在大腦,快速響應,但如果搬磚敲你一
          下,失憶了怎麼辦;
        • 2.聰明的夥伴會說我記錄在小本本上,忘了看一眼,
          然後延遲響應 (dsg) ;
      • 如果女朋友問她的生日是什麼時間,怎麼記憶最佳:
        • 第一步:單純記錄到腦子裡可能會忘記,所以我將生
          日記錄到小本本上;
        • 第二步:在女朋友每次詢問我之前,將小本本拿出來
          看一眼,記到腦子中;
        • 第三步:在女朋友問我的時候,我直接從腦子記憶中
          提取她的生日日期即可;
    • 敲重點:如果程式的資料要快存快取:
      • 第一步:將應用程式儲存至硬碟中,如果不用就放在那,
        也不佔多少空間;
      • 第二步:一旦需要使用該程式,首先將程式儲存在硬碟的
        資料載入到記憶體中;
      • 第三步:最後CPU讀取記憶體中的指令,進行分析和處理;
        從而保證程式的執行速度;

1.3.3輸入裝置

  • 輸入裝置 Input :
    • 作用:往計算機裡面輸入內容;(鍵盤、滑鼠)
    • 比如:眼睛看、耳朵聽;
    • 類比:輸入裝置-->人類的(眼、耳);

1.3.4 輸出裝置

  • 輸出裝置 Output :
    • 作用:計算機向外輸出資料的工具;(顯示器、印表機)
    • 比如:人說話,人釋出文章
    • 類比:輸入裝置--> xx ;

1.3.5 五大元件總結

  • 老師講課,學生聽課,老師是程式設計師,學生是計算機;(學生的
    器官都是計算機各部分組成)
    • 1.學生通過自己耳朵聽、眼睛看,接收老師講的知識;這個
      就是-->輸入
    • 2.學生通過自己的神經、將接收的資訊存入自己的短期記憶
      中;這個就是-->記憶體
    • 3.學生光聽不行,還需要理解老師講的知識,於是你的大腦
      從短期記憶裡取出知識/指令,分析知識/指令,然後學習知
      識/執行指令 -->這就是cpu(取指、分析、執行)
    • 4.學生通過作業、給其他學生講解、將學到的東西表達出來-->這就是輸出
    • 5.學生想要永久將知識儲存下來,進行長期記憶、需要將內
      容寫到本子上;-->這就是硬碟

1.4 計算機三大核心硬體

  • 我們將五大組成部分,進一步提煉出其中的三大核心硬體:
    (CPU、記憶體、磁碟)
    • 因為一個程式的執行與計算機三大核心硬體存在著特定的聯
      系;
    • 前提: 人 --通過--> 語言 --控制--> 計算機(即人)
    • 舉例:我通過語言編寫一段程式,控制計算機(人)做如下
      幾件事:
      • 1.買菸;
      • 2.掏錢;
      • 3.回家;
      • 目的:控制人的身體去運轉、替我們工作;
  • 問題1:我們編寫的程式沒有詳細描述他應該如何工作,那到底
    是計算機的哪個元件下發的控制指令;
    • 其實計算機的所有元件都受計算機的 CPU 控制;
    • 也就是程式是直接控制大腦 (CPU) ,由大腦 (CPU) 間接支
      配人的肉體(元件),從而實現程式支配肉體工作
  • 問題2:如果我不想每次反覆描述這件事,希望這個任務反覆運
    行怎麼辦;
    • 計算機具備儲存的就是記憶體和硬碟;
      • 如果直接儲存在記憶體丟失了怎麼辦,難道在描述一次;所
        以這個程式是需要儲存在硬碟上;
      • 也就是編寫好的程式或者軟體一定是儲存在硬碟上的;
  • 問題3:如果只有 CPU 和硬碟,能否將這段程式執行起來;
    • 其實是可以執行起來的, CPU 從硬碟中取出指令進行執行即
      可,但是存在問題;
      • CPU 的速度要遠高於硬碟;如果每次都需要從硬碟資料
        中讀取一條資料,然後CPU處理一條;然後繼續讀取、繼
        續處理,一直反覆這個過程,那麼大量的時間都會浪費在
        資料的讀取上;
      • 那我們該如何提升程式執行的速度呢,此時就需要記憶體的介
        入(人腦的記憶);
        • 第一步:我們將要操作的步驟儲存至磁碟(小本本);
        • 第二步:將硬碟的資料載入進記憶體中(大腦的記憶);
        • 第三步:CPU從記憶體中讀取指令執行,效率非常高;

1.5 作業系統基本概念

1.5.1 操由來作系統

  • 需求:
    • 開發一個編輯工具,該軟體的一個核心業務就是文字編輯,
      編輯內容就牽扯到要操作計算機硬體;
  • 問題:
    • 1.不管我們編寫什麼軟體,最終的目的是為了控制硬體;
    • 2.但對於計算機而言,它是死的,它不可能自行執行,所有
      的硬體執行都需要軟體進行支配;
  • 實現:
    • 第一步:我們必須先開發一個 ”控制系統“ 來控制計算機的硬
      件基本執行;
    • 第二步:然後在開發編輯工具的業務功能,但凡涉及到要操
      作硬體,則呼叫控制系統;
    • 第三步:最後由控制系統來控制計算機硬體進行執行;

1.5.2 什麼是作業系統

  • 其實前面所所的控制系統有一個更好聽的名稱,作業系統
    Operation System, OS
    • 1.作業系統是”應用軟體“與”硬體“之間的一個橋樑;
    • 2.同時也是一個協調、管理、“控制計算機硬體資源”、“軟體
      資源”的一個控制程式;

1.5.3 為什麼需要作業系統

  • 1.控制計算機的基本執行;
  • 2.將硬體的複雜操作簡單化,供上層應用程式使用;
  • 3.為使用者與計算機硬體之間提供 ”圖形/命令列“ 工具;

2. Linux系統基本介紹

2.1 什麼是Linux

  • Linux 和我們常見的 Windows 一樣,都是作業系統,但
    linux 有兩種含義;
    • 一種是 Linus 編寫的開源作業系統的核心
    • 另一種是廣義上的作業系統
  • Linux 與 Windows 系統不同的是;
    • Windows 收費,不開源,主要用於日常辦公、遊戲、娛樂多
      一些。
    • Linux 免費,開源,主要用於伺服器領域,效能穩定,安
      全,更新頻次高。
  • 例如: 淘寶、百度、騰訊等網際網路公司,他們使用的伺服器全都
    是 Linux 系統;

2.2Linux系統發展史

既然是歷史,那就讓他成為歷史吧,因為我根本記不住歷史。(因為
我不是導遊,不靠記歷史賺錢)。
雖然歷史不重要,但是還是需要了解 Linux 在發展過程中的一些重
要人物

2.3 自動軟體之父

  • 自由軟體之父 Richard M. Stallman 1984 發起了 GNU 組織

  • GUN 組織中有幾個專案:

    • copyleft :代表無版權。 copyright :則代表有版權。
    • opensource :開放原始碼、軟體誰都可以使用、誰都可以
      傳播、誰都可以二次開發
    • free :免費
    • GPL :通用版權許可證協議,如果軟體被打上GPL,那麼任
      何人都可以對這個軟體進行修改,但是修改完之後必須將源
      碼釋出出來,以便更好的傳承下去。
  • 總結:

    • Linux 中的軟體百分之八十都是 GPL 提供;
    • 自由軟體運動的口號是:“團結就是力量”;

2.4 Linux系統之父

  • Linux 之父 Linus Torvalds 林納斯.託瓦茲 1991 年 Linux 內
    核;
  • 作業系統的核心稱為“核心”,但核心並不就等於作業系統;
  • 核心提供系統服務,比如檔案管理、虛擬記憶體、裝置I/O等還
    包含一些基本的程式、編譯器、shell等;所以單獨的Linux核
    沒辦法工作,須要有GNU專案的眾多應用程式;
  • 其實 Linux 官方叫法是 GNU/Linux 使用 GNU 的軟體加上
    Linux 核心,一般簡稱 Linux

2.5 Linux系統發行版

我們現在說的 Linux 其實都是指的是發行版 Distribution
version ;就是使用 Linux 核心加上各種 GNU 的庫檔案、應用程
序,構造而成的作業系統。
Linux發行版介紹 RHEL/Centos/Ubuntu/Suse

  • Redhat 企業級作業系統, Linux 的核心進行編譯安裝相應軟
    件,進行專業的測試,然後進行發行;
  • CentOS 社群企業級作業系統,改與 Redhat 完全開源(沒有售後);
  • Ubuntu 社群維護, 現在主要做手機系統和電腦桌面系統;
  • Debian 等等.........

2.6 為什麼使用CentOS

  • CentOS 是 Community Enterprise Operating System 的縮寫表示 "社群企業作業系統"
  • CentOS 兼具 Community (社群)和 Enterprise (企業的
    特性
  • CentOS 穩定、長期支援(10年)大規模使用穩定;

2.7 Linux認證是否需要考

Linux相關認證介紹 RHCSA/RHCE/RHCA

  • RHCE: 中級工程師 --》兩個模組(片面)

  • RHCA:高階工程師

  • 常見問題:老師我到底要不要考一個紅帽證書,學完咱們這個
    Linux 雲端計算課程能不能考?

3.Linux系統安裝

3.1安裝配置VM虛擬機器

VMware WorkStation 虛擬機器軟體是一款桌面計算機虛擬軟體,讓
使用者能夠在單一主機上同時執行多個不同的作業系統。

3.2 安裝Linux作業系統

CentOS

安裝 RHEL/CentOS7 系統時需要注意:您電腦的 CPU 需要支援VT(Virtualization Technology虛擬化技術) 所謂VT,指的是讓單臺計算機能夠分割出多個獨立資源區,並讓每個資源區按照需要模擬出系統的一項技術,其本質就是通過中間層實現計算機資源的
管理和再分配,讓系統資源的利用率最大化

注意:如果開啟虛擬機器後依然提示 CPU 不支援 VT 技術”報錯資訊,

請重啟電腦並進入到 BIOS 中把 CPU 的 VT 虛擬化功能開啟即可。

第1步:在虛擬機器管理介面中單擊“開啟此虛擬機器”按鈕後數秒就看到
RHEL 7 系統安裝介面,如圖1-所示。

描述 含義
Install Red Hat Enterprise Linux 7 安裝Redhat Linux7系統
Test this media & install Red Hat
Enterprise Linux 7 校驗光碟完整性後再裝
Troubleshooting 啟動救援模式

  • 第2步:接下來按回車鍵後開始載入安裝映象,所需時間大約在30~60秒,請耐心等待,如圖1-27所示。

3.3 安裝Ubuntu作業系統

3.3.1 下載Ubuntu

ubuntu 中文下載網: https://cn.ubuntu.com/
第三方映象站點:
https://mirror.tuna.tsinghua.edu.cn/ubuntu-releases/

3.3.2 選擇系統語言

3.3.3 選擇鍵盤語言

3.3.4 配置網路地址

配置自定義網路

3.3.5 調整倉庫地址

將原本國外的倉庫地址修改為國內阿里雲地址
http://mirror.aliyun.com

3.3.6 調整分割槽策略

3.3.7 設定登入使用者

ubuntu預設拒絕root直接登入,需要建立一個普通使用者進行登入

3.3.8 啟用遠端連線

勾選 Install OpenSSH Server 否則通過遠端連線伺服器

3.3.9 完成安裝

安裝完成後,選擇 Reboot Now 重啟完成系統安裝