UNIX發展歷程
- 第一個版本是1969年由Ken Thompson(UNIX之父)在AT& T貝爾實驗室實現
- Ken Thompson和Dennis Ritchie(C語言之父)使用C語言對整個系統進行了再加工和編寫
- UNIX的源代碼屬于SCO公司(AT&T ->Novell ->SCO )
- UNIX商標( AT&T ->Novell ->X/Open)
什么是UNIX
UNIX是由OPEN GROUP管理的一個商標,它指的是某類遵循特定規范的計算機操作系統集合。這個規范稱為單一UNIX規范SUS(Single UNIX Specification)
類UNIX系統
- 各種傳統的UNIX系統以及各種與傳統UNIX類似的系統(遵循POSIX可移植操作系統接口規范)。
- ISO C 是 POSIX子集
- POSIX 是 SUS子集
- 純種Unix多數為商用,如SCO的Unixware、IBM的AIX、HP的HP-UX和Sun的Solaris等
- 免費的有FreeBSD和Linux等
什么是Linux
是一個類UNIX內核的可以自由發布的實現版本,是一個操作系統的底層核心(內核)。用戶可以獲得內核源代碼,編譯并安裝,然后獲得并安裝許多其他自由發布的軟件,從而創建一個完整的Linux,通常稱為Linux系統
Linux的發展歷程
- 新版Unix(SystemV7)受版權限制及源代碼不公開,不能用于教學和科研
- Andrew S. Tanenbaum教授為了擺脫這些限制,開發了Minix操作系統, 開放全部源代碼給大學教學和研究工作
Linus Torvalds 芬蘭赫爾辛基大學的一位計算機系的學生。在大學期間,他接觸到了學校的Unix系統,但是當時的Unix系統僅為一臺主機,且對應了多個終端,使用時存在操作等待時間很長等一些不爽的問題。因此他就萌生了自己開發一個Unix的想法。他就把Minix安裝到了他的I386個人計算機上作為學習和研究的對象。Linus閱讀了Minix系統的源代碼,從Minix系統中學到了很多重要的系統核心程序設計理念和設計思想,從而逐步開始了Linux系統雛形的設計和開發。1991 年 8 月,在芬蘭 赫爾辛基大學 計算機系的學生在comp.os.minix 新聞組貼上了以下這段話:「你好,所有使用 minix 的人 -我正在為386 ( 486 ) AT 做一個免費的操作系統 ( 只是為了愛好 ),不會像 GNU 那樣很大很專業。」
Linux內核版本
- 1991年10月發布linux0.02版本
- 1993年發布linux0.99版本
- 1994年3月發布linux1.0版本,GPL協議
- 1994年加入GNU組織
- …
- 2021年最新穩定內核版本為:5.11.2(21年2月26日)-https://www.kernel.org
Linux的特點
- 開放性(遵循標準)
- 多用戶
- 多任務
- 良好的用戶界面
- 設備獨立性(把外部設備當作文件處理)
- 豐富的網絡功能
- 可靠的系統安全
- 良好的可移植性
自由軟件簡介
GNU計劃
1983 年 Richard Stallman(自由軟件業的精神教父) 創辦 GNU(GNU’s not Unix)計劃。開始于1984年,旨在建立一套完全自由的和可移植的類Unix操作系統
- http://www.gnu.org/
自由軟件基金會
- GNU計劃的贊助單位
- FSF(Free Software Foundation)提倡自由軟件
- FSF自由使用權的三個意義:
- 可自由復制GNU的軟件
- 可自由修改源代碼
- 可自由散布修改過的源代碼,但不得收取任何版權費用
GNU General Public License(大眾公有版權/通用公共版權)
- 官方翻譯:自由文件許可
- Copyleft(是copyright[版權]的反話,就是防止有人給自由軟件的使用加上限制)
GPL核心思想: - 保證任何人有共享、修改、發布自由軟件的自由
- 自由軟件的衍生作品必須以GPL為重新發布的許可證
- 允許公司銷售自由軟件,提供源代碼
在GPL條款下發布的主要GNU項目軟件 - GCC
- G++
- GDB
- make
- Bash
- Emacs
- Gawk
linux版本
內核版本
Linux操作系統(kernel+utilities):專家才會用
內核版本號:由Linus等人制定和維護,全球統一
內核版本號格式:x.y.zz,x為主版本號,y為次版本號,zz為次次版本號。
次版本號為偶數的是穩定版本(內核的特性已經固定,代碼運行穩定可靠,不再增加新的特性,要改進也只是修改代碼中的錯誤),為奇數的是發展版本(舊規則,適用于2.6以下)。
Linux內核2.6+,第二個數字不再表示一個內核是穩定版本還是開發版本,所有發布出來的正式版本都是穩定版本
發行版本
Linux發行版(Distribution):整合更多配套軟件,普通用戶也能用
發行版本號:由各個發行公司或者組織自行制定,不同公司的發行版本號之間無可比性
- RedHat Linux
- Fedora
- CentOS
- Debian GNU/Linux
- Ubuntu
- Gentoo Linux
- SuSE Linux
- Arch Linux
- Kali Linux
- Linpus Linux
- Red Flag Linux(紅旗Linux)
Linux 目錄
Linux目錄結構以目錄的方式來組織和管理系統中的所有文件。以根目錄“/”為起點,所有其他的目錄都由根目錄派生而來
- /bin:常用系統程序目錄
- /boot:開機設定目錄,也是擺放核心 vmlinuz 的地方
- /dev:擺放系統設備裝置文件的目錄
- /etc:系統配置文件,尤其 passwd, shadow
- /etc/rc.d/init.d:系統開機的時候載入服務的 scripts 的擺放地點
- /home:系統使用者的目錄
- /lib:Linux 執行或編譯程序函數庫目錄
- /mnt:軟驅與光驅接入掛載的地方
- /proc:系統核心與執行程序的一些信息
- /root:系統管理員的目錄
- /usr/bin, /bin:一般執行文件擺放的地方
- /usr/sbin, /sbin:系統管理員常用指令集
- /var:擺放系統日志文件的地方
- /lost+fount:擺放系統不正常產生錯誤時遺失的片段
Linux系統的運行級別(Run Level)
- 關機級別。
- 單用戶運行級別,運行rc.sysinit和rc1.d目錄下的腳本。
- 多用戶,但系統不會啟動Network File System(NFS),字符模式,在有些Linux系統中,級別2為默認模式,具有網絡功能,如Ubuntu、Debian。
- 多用戶,字符模式,系統啟動具有網絡功能,常用運行級別。
- 用戶自定義級別。
- 圖形界面模式,常用運行級別。
- 重啟級別。
更改系統運行級別
- 臨時
- init n或telinit n
-----n為級別號,root權限 - startx
-----啟動圖形化環境(需要安裝圖形化界面)
- 長期
- 修改配置文件 /etc/inittab(舊)
- systemctl set-default *.target
shutdown
halt
init
poweroff
reboot
- 不允許普通用戶關機和重啟
- 關機
shutdown –h now
init 0
halt -p
poweroff -p - 重啟
shutdown -r now
init 6
reboot