Linux學習必備基礎知識

1. 計算機的組成及功能

1.1 計算機的組成

計算機系統由硬件系統和軟件系統兩大部分組成
在這裏插入圖片描述

1.2 計算機功能

  • 科學計算
  • 數據處理
  • CAD(Computer-Aided Design)計算機輔助設計
  • CAE(Computer-Aided Engineering)計算機輔助工程
  • CAM(Computer-Aided Manufacturing)計算機輔助製造
  • CAI(computer-aided instruction)計算機輔助教學

2. 內核功能以及作用

內核功能:
內核(Kernel,又稱核心)就是操作系統的核心,它是爲衆多應用程序提供對計算機硬件的安全訪問的一部分軟件,這種訪問是有限的,並由內核決定一個程序在什麼時候對某部分硬件操作多長時間。直接對硬件操作是非常複雜的。所以內核通常提供一種硬件抽象的方法,來完成這些操作。有了這個,通過進程間通信機制及系統調用,應用進程可間接控制所需的硬件資源(特別是處理器及IO設備)。
內核作用:

  • 進程管理
  • 內存管理
  • 文件管理
  • 驅動管理
  • 網絡管理

3. Linux發行版

所謂的Linux發行版就是由個人或者各大廠商根據不同的功能需求在內核版本的基礎上增加了不同的功能,如:增加圖形界面、增加各種小工具等等,這樣就組成了一個Linux發行版。
常見的Linux發行版:
1、按打包方式劃分:
基於Dpkg(Debian系)
Debian GNU / Linux是一種強調使用自由軟件的發行版。它支持多種硬件平臺。Debian及其派生髮行版使用deb軟件包格式,並使用dpkg及其前端作爲包管理器。

  • Ubuntu:知名Linux發行版之一,由Canonical有限公司贊助,基於Debian,使用自己的軟件包庫,與Debian的有所不同,旨在開發出更加友好的桌面。

    以下基於Ubuntu

    • Linux Mint:基於Ubuntu,人氣與Ubuntu不相上下的發行版。
    • Elementary OS:基於Ubuntu,使用基於GNOME名爲Pantheon的桌面環境。
    • Ubuntu Kylin:添加了少量中國化定製的 Ubuntu 發行版。
    • Ubuntu GNOME:基於Ubuntu是Linux發行版,但使用的是桌面環境是Gnome。

基於RPM(Red Hat系)
Red Hat Linux和SUSE Linux是最早使用RPM格式軟件包的發行版,如今RPM格式已廣泛運用於衆多的發行版。這兩種發行版後來都分爲商業版本和社區支持版本。Red Hat Linux的社區支持版本現稱爲Fedora,商業版本則稱爲Red Hat Enterprise Linux。

  • CentOS:由社羣支持的包,旨在100%地與Red Hat Linux企業版兼容,但不包含Red Hat的商業軟件。
  • Fedora:可用作工作站、桌面以及服務器,由紅帽公司及其社羣開發。
  • Red Hat Enterprise Linux:紅帽Linux家族中唯一的商業分支。
  • SUSE/openSUSE:來自德國,是歐洲最流行的包之一。跟紅帽一樣,也包括大量的軟件,需要7張以上的CD,現在則用雙DVD。這個包有獨特的配置工具YaST。也是United Linux的創立者之一,已經被Novell公司收購。openSUSE是一個新的版本,基於社區,完全開源。

2、按發行方式劃分
部分或全部的商業版

  • Red Hat Enterprise Linux:從Red Hat Linux派生出的純商業版。
  • SUSE:基於德國的紐倫堡,以前叫SuSE,是歐洲最流行的Linux包,由自己獨特的配置工具YaST,用戶可以下載到體驗版(跟專業版類似)。該公司是United Linux的創建者,被Novell收購。
  • Novell Linux 桌面:Novell收購SUSE後,兩家的包就互相融合了。

專用包

  • Android:來自Google,以apk格式打包,採用Android Runtime虛擬機提供類似Java (編程語言)的應用程序接口,當前已成爲用戶最多的智能手機系統之一。
  • Maemo:來自諾基亞,基於Debian,當前專用於諾基亞的N770、N800、N810網絡終端,以及N900手機。
  • MeeGo:Maemo與Moblin計劃結合的產物。

4. 常見開源協議

GPL: GNU通用公共許可協議(GNU General Public License,縮寫GNU GPL 或 GPL),是被廣泛使用的自由軟件許可證,給予了終端用戶運行、學習、共享和修改軟件的自由。許可證最初由自由軟件基金會的理查德·斯托曼爲GNU項目所撰寫,並授予計算機程序的用戶自由軟件定義(The Free Software Definition)的權利。 GPL是一個Copyleft許可證,這意味着派生作品只能以相同的許可條款分發。 這與寬鬆自由軟件許可證有所區別 ,如BSD許可證和MIT許可證就是其中被廣泛使用的例子。 GPL是第一個普遍使用的Copyleft許可證。
LGPL(Lesser General Public License): LGPL相對於GPL較爲寬鬆,允許不公開全部源代碼
BSD (Berkeley Software Distribution license): 是自由軟件中使用最廣泛的許可協議之一。BSD 就是遵照這個許可證來發布,也因此而得名 BSD 許可協議。跟其他條款相比,從GNU通用公共許可證(GPL)到限制重重的著作權(Copyright),BSD許可證比較寬鬆,甚至跟公有領域更爲接近。事實上,BSD許可證被認爲是copycenter(中間著作權),介乎標準的copyright與GPL的copyleft之間。“Take it down to the copy center and make as many copies as you want”。可以說,GPL強迫後續版本必須一樣是自由軟件,BSD的後續版本可以選擇要繼續是BSD或其他自由軟件條款或封閉軟件等等。
Apache許可證(Apache License),是一個由Apache軟件基金會發布的自由軟件許可證,最初爲Apache http服務器而撰寫。Apache許可證要求被授權者保留著作權和放棄權利的聲明,但它不是一個反著作權的許可證。

5. Linux哲學思想

一切皆文件
在Linux系統中,一切皆文件,也就是包括硬件設備、網絡通信接口等等都是一個文件。
小型,單一用途的程序
一個程序只負責做好自己的本職工作。
鏈接程序,共同完成複雜的任務
當遇到複雜任務,通過不同功能用途的程序組合起來完成任務。
避免令人困惑的用戶界面
在Linux系統中,主打的就是命令行,命令行的優勢管理效率高,還能夠節省一些硬件資源,很容易實現自動化批量管理。
配置數據存儲在文本中
Linux系統中,服務的相關配置都是存儲在一個文件中,結合文本處理工具及腳本管理效率非常高,用文本的方式也能夠節省系統資源及硬件資源。

6. Linux目錄結構

在這裏插入圖片描述
Linux目錄被組織成一個單根倒置樹結構,從根目錄下開始,用“/”表示
系統中常見目錄作用:
/boot:引導文件存放目錄,內核文件(vmlinuz)、引導加載器(bootloader, grub) 都存放於此目錄
/bin:所有用戶使用的基本命令;不能關聯至獨立分區,OS啓動即會用到的程序
/sbin:管理類的基本命令;不能關聯至獨立分區,OS啓動即會用到的程序
/lib:啓動時程序依賴的基本共享庫文件以及內核模塊文件(/lib/modules)
/lib64:專用於x86_64系統上的輔助共享庫文件存放位置
/etc:配置文件目錄
/home:普通用戶家目錄
/root:管理員的家目錄
/media:便攜式移動設備掛載點
/mnt:臨時文件系統掛載點
/dev:設備文件及特殊文件存儲位置
/opt:第三方應用程序的安裝位置
/srv:系統上運行的服務用到的數據
/tmp:臨時文件存儲位置
/usr:universal shared, read-only data

  • bin:保證系統擁有完整功能而提供的應用程序
  • sbin:此目錄包含系統管理員專用的任何非必需二進制文件
  • lib:存放庫文件,32位系統使用
  • lib64:存放庫文件,只存在64位系統
  • include:C程序的頭文件(header files)
  • share:結構化獨立的數據,例如doc, man等
  • local:第三方應用程序的安裝位置,bin, sbin, lib, lib64, etc, share

/var:variable data files

  • cache:應用程序緩存數據目錄
  • lib:應用程序狀態信息數據
  • local:專用於爲/usr/local下的應用程序存儲可變數據;
  • lock:鎖文件
  • log:日誌目錄及文件
  • opt:專用於爲/opt下的應用程序存儲可變數據;
  • run:運行中的進程相關數據,通常用於存儲進程pid文件
  • spool:應用程序數據池
  • tmp:保存系統兩次重啓之間產生的臨時數據

/proc:用於輸出內核與進程信息相關的虛擬文件系統
/sys:用於輸出當前系統上硬件設備相關信息虛擬文件系統
/selinux:security enhanced Linux,selinux相關的安全策略等信息的存儲位置

文件命令規則:

  • 文件名最長255個字節
  • 包括路徑在內文件名稱最長4095個字節
  • 除了斜槓和NUL,所有字符都有效。但使用特殊字符的目錄名和文件不推薦使用,有些字符需要用引號來引用它們
  • 標準Linux文件系統(如ext4),文件名稱大小寫敏感,例如:MAIL, Mail, mail, mAiL(很多人都說Linux系統區分大小寫,其實說法是錯誤的,區分大小寫是和文件系統有關的。)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章