1.Gnu/Linux是一個基於POSIX和UNIX的多用戶多任務 支持多線程多CPU的類UNIX的操作系統. 繼承了UNIX以網路為核心的設計思想 是性能穩定的多用戶網路操作系統. 1991年10月5日Linus Torvalds在usenet的comp.os.minix新聞組中發佈了第一個Lin ...
1.Gnu/Linux是一個基於POSIX和UNIX的多用戶多任務 支持多線程多CPU的類UNIX的操作系統. 繼承了UNIX以網路為核心的設計思想 是性能穩定的多用戶網路操作系統.
1991年10月5日Linus Torvalds在usenet的comp.os.minix新聞組中發佈了第一個Linux的公告宣佈誕生.
基本思想:1.一切都是文件 2.每個軟體都有確定的用途
2.桌面環境
GNOME:與傳統UI分道揚鑣之後構建了更加現代化的桌面外觀Gnome Shell 以簡潔著稱
KED:用於UNIX和Linux工作站的網路透明的現代化桌面環境
UNITY:運行在Gnome桌面環境上並使用Gnome應用程式的所有內核
LXDE:自由桌面環境 可在UNIX上以及POSIX等相容平臺運行
XFCE:是一個在UNIX和UNIX-like操作系統上上運行的桌面環境
MATE:是許多大眾發行版的預設桌面環境
Cinnamon:
Deepin:
Budgie Desktop:
備註:
*UNIX操作系統:
特性:多用戶多任務的分時操作系統 支持多種處理器架構.
UNIX系統結構分為操作系統內核 系統調用(供程式開發者開發應用程式時調用系統組件) 應用程式(所有應用程式都在Shell的管理和控制下為用戶服務)
大部分是由C語言編寫的這使得系統易讀易修改易移植
提供了功能強大的可編程的Shell語言作為用戶界面具有簡潔高效的特點
採用樹狀目錄結構具有良好的安全性保密性和可維護性
採用進程對換的記憶體管理機制和請求調頁的存儲方式實現了虛擬記憶體管理大大提高了記憶體的使用效率
提供多種通信機制如:管道通信 軟中斷通信 消息通信 共用存儲器通信 信號燈通信
UNIX-like操作系統:
AIX(Advanced Interactive eXecutive):IBM開發的UNIX操作系統
Solaris:SUN公司研製的類UNIX操作系統
HP-Ux:惠普公司以System V為基礎研發的類UNIX操作系統
IRIX:矽谷圖形公司以System V與BSD延伸程式為基礎發展成的UNIX操作系統
Xenix:
A/UX:(Apple UNIX)蘋果公司開發的UNIX操作系統
*MINIX操作系統:基於微內核架構的類UNIX操作系統
Minix最有名的學生用戶是Linus Torvalds 並以Minix為樣本開發了原始的Linux內核
設計哲學上Minix採用了為內核的原則而Linux和UNIX都採用紅內核的概念
*GNU計劃:
由Richard Stallman於1983年9月27公開發起.1985年創立自由軟體基金會
目標是創建一套完全自由的操作系統GNU
GNU核心精神:自由與分享
GNU(GNU's Not Unix)通用公共許可證(GNU General Public License)縮寫為GPL
*POSIX:可移植操作系統介面 POSIX標准定義操作系統應為應用程式提供的介面標準是IEEE為各種在UNIX上運行的軟體定義的一系列API標準的總稱 正式稱呼為IEEE 1003 國際標準名稱為ISO/IEC 9945.
3.演化進程梳理
4.Linux下的目錄結構
1./bin二進位可執行命令 目錄包含了引導啟動所需的命令或普通用戶所需的命令 放置系統必備的執行文件
2./boot 目錄存放引導載入器(bootstrap loader)使用的文件 如果有許多核心映像目錄會變得很大此時最好使用單獨的文件系統 確保核心映像必須在硬碟ide的前1024柱面內
3./dev設備特殊文件 目錄存放設備文件即設備驅動程式
/dev/console 系統控制台 也就是直接和系統連接的監視器
/dev/hd ide硬碟驅動程式介面
/dev/sd scsi磁碟驅動程式介面
/dev/fd 軟碟機設備驅動程式
/dev/stscsi
* /dev/tty 提供虛擬控制台支持
/dev/pty 提供遠程登錄偽終端支持
/dev/stty
/dev/mouse 訪問滑鼠的輸入
* /dev/null 所有寫入該設備的信息都將消失
* /dev/zero
* /dev/lp*
* /dev/hd*
* /dev/sd*
4./etc系統管理和配置文件 目錄存放各種系統配置文件 只有root有權修改
/etc/rc或/etc/rc.d或etc/rc?.d啟動的配置文件和腳本 系統初始化文件 啟動或改變運行級時運行的腳本或腳本目錄
/etc/passwd 用戶信息文件
/etc/fdprm 軟盤參數表用以說明不同的軟盤格式 可用setfdprm進行設置
* /etc/fstab 啟動時需要自動安裝的文件系統列表 也包括swapon-a啟用的swap區的信息
/etc/group
* /etc/inittab init的配置文件
* /etc/init.d 所有服務的預設啟動腳本
/etc/issue 用戶在登錄提示符前的輸出信息 通常包括系統的一段短說明或歡迎信息具體內容由系統管理員確定
/etc/magic "file"的配置文件 "file"基於它猜文件類型 包含不同文件格式的說明
/etc/motd "message of the day"的縮寫 用戶成功登錄後自動輸出 內容由系統管理員確定 常用於通告信息
* modprobe.conf
/etc/mtab 當前安裝的文件系統列表 由腳本初始化並由mount命令自動更新
/etc/shadow 安裝了影子口令軟體的系統上的影子口令文件 影子口令文件將/etc/passwd中的口令文件移動到只對root用戶可讀的/etc/shadow中增加系統的安全性.
* /etc/sysconfig
/etc/login.defs login命令的配置文件
/etc/printcap
/etc/profile
/etc/securetty 確認安全終端即哪個安全終端允許超級用戶登錄
/etc/shells 列出可以使用的shell
/etc/termcap 終端性能資料庫 說明不同的終端用用什麼"轉義序列"控制
* /etc/X11/
5./home系統預設用戶主文件夾
6./lib標準程式設計庫或動態鏈接共用庫 目錄是根文件系統上的程式所需的共用庫 存放了根文件系統程式運行所需的共用文件
/lib/modules 系統核心可載入模塊文件尤其恢復損壞的系統時重新引導系統時所需要的模塊
7./media放置可刪除的設備 包括軟盤 光碟 DVD等設備暫掛於此.
8./mnt用戶臨時掛在其它的文件系統 系統管理員臨時安裝(mount)文件系統的安裝點 下麵可以分許多子目錄
/mnt/dosa msdos文件系統軟碟機
/mnt/exta 使用ext2文件系統的軟碟機
/mnt/cdrom 光碟機
9./opt存放可選的程式
10./root系統管理員的主目錄
11./sbin系統管理命令 存放著系統管理員使用的管理程式. 存儲二進位文件 其中的大部分文件多是系統管理員使用的基本的系統程式普通用戶必要且允許時可以使用但一般不給普通用戶使用
12/tmp共用的臨時文件存儲點 目錄存放程式在運行時產生的信息和數據但引導程式後運行程式最好使用/var/tmp(可能擁有更大的磁碟空間)
13./usr (unix software resource)的縮寫
/usr/X11R6 存放x window的目錄
/usr/bin 主要放置應用程式工具必備的執行文件 集中了幾乎所有用戶命令是系統的軟體庫
/usr/sbin 主要放置網路管理的必備程式. 根文件系統不必要的系統管理命令
/usr/man 幫助文檔
/usr/doc 放置linux文檔
/usr/info
包含所有手冊頁 gnu信息文檔和各種其它文檔
/usr/indude linux下開發和編譯應用程式所需的頭文件
/usr/locol
/usr/lib 常用動態鏈接庫和軟體包的配置文件
/usr/src linux內核的源代碼
/usr/locol/bin 本地增加的命令
/usr/locol/lib 本地增加的庫根文件系統
14./var系統一般運行時要改變的數據 某些大文件的溢出區
/var/catman 包括了格式化過的幫助(man)頁
/var/lib 存放系統正常運行時要改變的文件
/var/locolhttp://i.cnblogs.com/EditPosts.aspx?postid=5406476
/var/lock 鎖定文件 許多程式遵循產生一個鎖定文件的約定來支持它們正在使用的某個特定的設備和文件
/var/log 各種程式的日誌文件 login(/var/log/wtmp log)記錄所有系統登錄和註銷 syslog(/var/log/messages)記錄存儲所有核心和和系統程式信息 應定期清除.
/var/run 保存下一次系統引導前有效的關於系統的信息文件
/var/spool 放置假離線(spool)程式的目錄
/var/tmp 比/tmp文件更大的或保存時間較長的臨時文件
15./proc是一個偽的文件系統 它並不存在於某個磁碟上而是由核心在記憶體中產生用來提供關於系統的信息 虛擬目錄 是系統記憶體的映射可直接訪問這個目錄查看系統信息
/proc/x 關於進程x的信息目錄 每個進程在/proc 下有一個名為自己進程號的目錄
/proc/cpuinfo 存放處理器的信息
/proc/devices 當前運行的核心配置的設備驅動列表
/proc/dma 顯示當前使用的dma通道
/proc/filesystems 核心配置的文件系統信息
/proc/interrupts 顯示被占用的中斷信息和占用者的信息以及被占用的數量
/proc/ioports 當前使用的i/o埠
/proc/kcore 系統物理記憶體映像
/proc/kmsg 核心輸出的消息
/proc/ksyms 核心符號表
/proc/loadavg 系統"平均負載"
/proc/meminfo 各種存儲器使用信息 包括物理記憶體和交換分區
/proc/modules 當前載入了哪些核心模塊信息
/proc/net 網路協議狀態信息
/proc/self 主要便於程式得到它自己的進程目錄
/proc/stat 系統的不同狀態
/proc/uptime 系統啟動的時間長度
/proc/version
16.lost+found目錄平時是空的 系統非正常關機所留下的文件存放此處
4.深度剖析
1. 開源軟體與自由軟體區別?
自由軟體:信息技術發展引發信息革命所推動的以開放創新 共同創新為特點的創新2.0模式在IT行業的具體體現. 是一場要求尊重他人自由的道德運動
本質:不受限制地自由運行 拷貝 修改 再發行但不允許修改後和衍生的代碼做為閉源的商業軟體發佈和銷售
理念:知識共用
意義:有利於人類共同意義上的交流 合作 發展
開源軟體:開放源代碼並授權更改/自由再散佈/衍生著作. 是一種開發模式 開源不是做慈善而是更多的人參與完善軟體缺陷不抵制軟體授權收費
GPL通用公共許可證主宰著開源世界
用戶角度:
軟體本身:
軟體行業:
商業軟體:
免費軟體:免費提供給用戶使用
常見的許可協議:
GPL:GNU通用公共許可證 使用者必須接受軟體的"軟體授權" GPL精神:自由 分享 互惠
BSD:BSD許可證被認為介於copyright和copyleft之間 鼓勵代碼共用但要尊重代碼作者的著作權 允許使用者修改和重新發佈代碼和在BSD代碼基礎上開發商業軟體發佈銷售
Apache License:非營利開源組織Apache採用的協議 鼓勵代碼共用和尊重原作者的著作權同樣允許代碼修改再發佈為開源或商業軟體
<!------------------------------------------------------------------------------------------------------->
圓夢園:年輕人只為書寫一個夢. peter.ali
第一課題: