1.計算機組成:
根據馮諾依曼的計算機結構分為四大塊:控制器,運算器, 存儲器,輸入輸出設備
控制器:對其他的組件進行控制
運算器:用于處理計算工作,不控制輸入和輸出
儲存器:用于暫時或長期存儲數據
輸入輸出:與外界進行交互
個人延伸:
我的理解這是一個在計算機研發之前的一個理論假象,
相對現在真實的計算機體系,這個分類會比較模糊。
運算器:cpu和gpu的一部分(運算核心),
模糊點是部分寄存器,有些人認為它屬于儲存器元件(因為它存儲數據),
有一些人認為它屬于運算器(因為直接參與運算)
控制器:cpu的一部分(控制核心),主板(總線,接口)
模糊點依然是寄存器(CS:IP)
儲存器:內存和硬盤,以及部分寄存器
輸入輸出:
輸入主要是用于人將數據輸入計算機體系的設備例如:鍵盤,攝像頭,話筒等
輸出主要是計算機體系對外展現信息的設備例如:顯示器,打印機,音響等
馮諾伊曼體系,是一個理論體系,用于實踐和顯得和狹隘。
比如在輸入輸出系統和存儲系統其實都可以歸納為數據流終端,
一些寄存器理論上可以歸納為計算機和控制器,也可以歸納為存儲器。
所以建議作為概念幫助理解,不必過于深究。
2 linux 羅列發行版
linux 是由可以理解為開源組件的拼出來的一個系統,
由于開源軟件有公開可修改性,每個人都可以對開源軟件進行變動,形成自己的版本。
對linux整個系統也是如此, 但是由于好的系統版本會吸引追隨者,并逐漸形成了生態圈,
這個我們一般所指的發行版本就是這些形成生態圈的版本。
整體來說根據我的理解發行版之間的共同性大于不同性。
羅列:
debian家族:
debian 在國外被很長一段時間具有絕對主導地位的版本,
主要被黑客和自由開發人員所貢獻,包管理器概念的首創者(apt),
在linux家族中以穩定安全而著稱,由于黑客大多有潔癖,組件版本滯后往往是主要問題
debian自己其實有三個版本:stable,testing,unstable服務器還是推薦stable
ubuntu linux體系中用戶體驗最傻瓜化的一種(絕不是說它不強),
數量為linux中最多,其中桌面用戶數更是有絕對優勢
在桌面系統市場占有率上,唯一勉強可以叫板windows和macOS的linux系統。
被開源社區和Canonical公司為主要貢獻,各種大型企業也有支持。
在設計理念上,不同于debian的潔癖保守,ubuntu的開發非常激進,現觸角已經延伸到手機和平板市場。
不穩定性和不安全性是主要問題詬病, 我在google的朋友說google內部使用的是一種ubuntu的仿制版,
就是一個自己按照ubuntu的思路開發出來的更穩定的版本,。
可見ubuntu影響多大
等等版本不多說了,提一下著名的游戲linux系統steamOS,就是得便家族的一員
redhat家族:
redhat公司支持的linux系列 其中以RHEL Red Hat Enterprise Linux最重要, 在linux服務器市場上有很高的地位,
在國內就是這個領域的老大了。
一個非常受青睞的企業級服務器系統版本,非常安全穩定和強大,由于企業的強力支持對新組件的支持略快于得debian
缺點是要收錢,
centOS,RHEL的社區復刻版,一種奇特的存在,理論上和RHEL完全平行,可以說是鉆了一個法律上的空子。
純社區支持,所以有RHEL的優點,但是不用收費,缺點是理論上要比RHEL更新慢一拍
fedora,一個redhat的分支,強調快速的版本迭代和拋棄,其實個人不喜歡
其他版本不多說了
slackware家族下的suse家族
據說是歐洲那邊流行linux家族,本來想設計成如比windows更美觀,比UNIX更優質的操作系統,
曾一度被歐洲人民給予厚望,然而在美觀性上被Ubuntu打敗之后逐漸變成了一支小眾。(至少我是這么理解)
其中純開源支持版,openSUSE依然有一堆死忠粉
archlinux和Gentoo
archlinux
我在墨爾本見過的大牛們都在用它,我也嘗試著用過一段時間,就是因為挫敗感太強才來報名了馬哥linux,
用于pacman包管理機制,與其說是版本不如說更像一種哲學,不用受版本限制自由抓取想要的組件,稱為滾動迭代,
組成自己想要的系統。最大的優點是組件新,缺點是不穩定,而且用戶需要相當大的實力才能駕馭。
Gentoo
被我認識大牛們認為是一座高峰的linux版本,據說每個組件都要自己編譯安裝,由于過于高端不敢多議論,
優點是給用戶極大的空間去優化定制系統,缺點是只用超高端用戶才能駕馭。
LFS: linux from scratch
你當然可以自己編組一個自己的linux系統
linux哲學思想:
由于linux最初是由全球的開發人員通過網絡協作開發出來的一個供他們自己使用的通用操作系統,
所以有意無意形成如下思路
1、一切皆文件,其實是中心化設計的一種體現,利用文件這一抽象的中心概念,
提供接口標準,屏蔽各方細節。
2、單一目的的小程序,組合這些小程序完成復雜任務。這樣開發者只用關注自己的維護小程序,
減少遠程溝通的時間成本,提高協作效率。
3、文本文件保存配置信息?!∫砸环N清晰通用的方式完成配置,大家的容易接受。
4、盡量避免捕獲用戶接口,避免用戶交互?!√岣呦鄬Τ绦騿T的使用效率,同時還可以節約開發成本?!?/p>
3 命令闡述:
這題真不知道該怎么寫,要真寫的細,要寫死,真的用的時候,主要靠現場查,簡述一下意思意思吧
ifconfig 用于顯示或配置網絡設備(網絡接口卡)的命令,英文全稱是network interfaces configuring
用法為 ifconfig [options] [device] [actions]
eg ifconfig 不帶參數會顯示所以網絡接口的信息
ifconfig eth0 只顯示網卡0的接口信息
ifconfig eth0 down/up 啟動/關閉網卡0
echo 打印操作 echo -[ne] string 過于簡單不細說了
echo “hello world” 在屏幕上打印hello world
tty 用于顯示當前連接終端的設備文件名稱 tty [options],無需例子
startx 啟動圖形化界面程序Xserver ,無需例子
export 將本地變量導入環境
export aa 將變量aa導入環境變成環境變量
pwd 顯示當前路徑,無需例子
history 顯示命令歷史,說起來簡單但有很多很多坑,
關于安全性和歷史數,關鍵環境變量HISTSIZE,HISTFILESIZE,HISTCONTROL
eg history 顯示歷史
history -w 內存歷史寫入歷史文件
history -c 清空歷史
shutdown [options] [value] 關機命令
eg shutdown now 立刻關機
shutdown -r 重啟
poweroff [options] 另一個關機命令
eg poweroff -f 強制關機
poweroff –reboot 重啟
reboot 重啟 不多說和poweroff實際上是一家
hwclock [options] 顯示和修改硬件時鐘
eg hwclock –debug 顯示hwclock 執行的詳細信息
date [options] format 顯示和修改系統時間
eg date –utc 以UTC格式顯示當前時間
date -s 01:01:01 設置具體時間,不會對日期做更改
4 man命令獲取信息
man COMMAND 即可
但是由于man命令分有章節
1.用戶命令 /usr/share/main1
2,系統調用 /usr/share/main2
3, c庫調用 。。/usr/share/main3
4 設備文件&特殊命令 /usr/share/main4
5 文件格式 /usr/share/main5
6 游戲使用 /usr/share/main6
7 雜項 /usr/share/main7
8 管理工具及守護進行 /usr/share/main8
一些命令可能在多個章節都有文檔
可用 man # command 查詢命令在某個特定章節中的文檔
5 FHS通用規范 這個也太多了只能簡單寫寫意思意思
/bin binary 對系統重要的默認為系統自帶必備的可執行程序
/sbin system admin binary 對系統重要的默認為系統自帶必備的僅管理員可用的可執行程序
/boot bootloader的位置,中文不知道咋說啟動器所在位置
/dev 設備文件所在位置
eg 字符設備(線性,時序), 塊設備(隨機訪問)
/etc 主機特有的配置文件儲存目錄
opt,x11, xml..
/home 默認為一般用戶家目錄們的所在地
/lib 庫文件所在地
lib.so.* 動態鏈接c庫
ld 運行時加載器
module 目錄 裝在內核模塊的目錄
/lib64 同lib但都是64位庫
/media 便攜式物件掛載目錄 例如:cdrom, floppy
/mnt 其他非關鍵文件系統臨時掛載點
/opt 非重要的應用所在地
/root 系統管理員家目錄所在地
/srv 為系統為程序提供數據的文件所在地
/tmp 臨時文件所在地,系統有選項可安排定期刪除
/usr (universal source readonly) 用戶安裝重要程序默認所在地
/usr/bin 略
/usr/include 略
/usr/lib 略
/usr/lib64 略
/usr/sbin 略
/usr/share 架構特有數據,命令手冊頁,或自帶文檔
/usr/X11R6 桌面系統的所在地
/usr/src 源碼文件
/usr/local 第三方程序(管理員安裝 建議安裝路徑)
var 常變化的目錄和文檔(日志,郵件)
cache 應用程序本身運作過程中會產生的一些暫存檔存放處
lib 存放系統正常運行時要改變的文件的目錄
local 存放 /usr/local 中安裝的程序的可變數據的目錄
lock 鎖定文件所在目錄
run 某些程序或者是服務啟動后,會將他們的PID放置在這個目錄下
spool 放置 “ 假脫機 (spool)” 程序的目錄
tmp 系統重啟后依然需要的臨時目錄
proc 進程抽象出來的目錄和文件, 內核及進程存儲的相關信息
多為內核參數
sys: sysfs 虛擬文件提供另一種訪問數據的目錄
原創文章,作者:chengyu,如若轉載,請注明出處:http://www.www58058.com/35565
寫的很好,排版還可以在漂亮一點,加油