馬哥教育網絡班22期第1周課程練習
第一部分,計算機構成和功能簡述
一、計算機體系
從最初的計算機ENIAC到當今時代的計算機都采用馮●諾依曼體系結構,該結構宗旨為:數字計算機的數制采用二進制;計算機應該按照程序順序執行。
二、計算機硬件組成
計算機基本硬件由以下組件構成:
CPU:
運算器:負責運算
控制器:負責控制各部件
寄存器:暫存指令,以方便運算器調用
緩存:復制內存信息,更快速的連接CPU與內存而存在的中間媒介
存儲器:
內存(RAM:Random Access Memory),每8bit組成一個Bytes,稱為一個cell,作為最小存儲單元。內存的每一個cell都有一個數字編值,由于馮諾依曼結構計算機只支持二進制,導致該編值只能是平面編值。因此對于32位CPU,只有2^32個二進制標識,因此只能識別3.25-3.75G的內存
I/O設備:
輸入設備:給計算機下指令,提供數據
輸出設備:輸出根據指令加工后的數據
三、計算機軟件:
軟件原理:
CPU能夠支持的所有指令的集合叫做“指令集”,指令集分為“普通指令”和“特殊指令”。運算器和控制器有各自的指令集。
CPU從內存中取得指令和數據進行運算
軟件的類別:
系統軟件:操作系統、驅動軟件
應用軟件:解決具體問題
軟件中多條指令的控制邏輯:
順序執行:依次執行
循環執行:循環執行N次
選擇執行:僅執行其中一個分支
批處理系統原理:
單任務計算機:早期計算機在某一時刻只能運行一個程序
多任務計算機:通過虛擬化物理資源并分割/分片給多個應用程序,并且Monitor Program監控多個任務規范運行,從而更高效的利用計算機資源
接口的概念:
軟件運行原理:用戶輸入指令和數據–>應用程序–>庫–>操作系統–>硬件
–>操作系統–>硬件
API:Application Program Interface,面向程序員開發的編程接口
POSIX:Portable Operating System,遵循POSIX規范的AIP可以在遵守POSIX規范的系統上進行編譯
ABI:Application Binary Interface,面向運行應用程序的系統接口
四、操作系統:
操作系統的功能:
驅動程序、進程管理、系統安全、網絡功能、內存管理、文件管理……
Kernel概念:操作系統的一部分。硬件和應用軟件間的中間件,提供監控進程、虛擬化物理資源、驅動硬件等功能。
操作系統交互接口:
GUI (Graphic User Interface)圖形用戶接口:Gnome(C,gtk),KDE(C++,qt)
CLI (Command Line Interface)命令行接口:bash,zsh,sh,tcsh,ksh
第二部分,Linux常用發行版簡述
一、Linux內核版本:
Linux內核版本號由3個數字組成,如:CentOS 6.5的kernel是2.6.32-431
其中第一組數字2對應kernel的主版本;
第二組數字6對應次版本,該數字為奇數時表示為開發版,數字為偶數時表示為穩定版;
第三組數字32表示修改的次數
第四組數字431表示微調次數
系統內核版本可通過unmae -r命令查詢如:
[root@zabbix-test-01 ~]# uname -r
2.6.32-431.el6.x86_64
其中el6表示該內核是為enterprise linux 6特別調校過的
二、Linux常用發行版:
Debin:開源類Unix,非常穩定的系統,核心非常小,但是各類文檔和技術資料都比其他發行版少,所以只有需要為一個系統提供特殊服務時才會用到。
Ubuntu:Debin下的一個分支,desktop版用戶界面非常漂亮,server版還很小眾但是web安全性和穩定性很出色。
Mint:ubuntu的下游版本
RedHat:RHEL是標準的企業發行版,系統穩定,但是5年更新一次大版本要比常用軟件更新的慢。
CentOS:因為是RHEL的社區重新發布版,所以一直比RHEL發行慢一拍,不提供商業支持,體積比debian大一點。
Fedroa Core:多社區開源版本,打包了更多的軟件包。
Slackware:非常短命的發行版
S.u.S.E:最早為德國人專門開發的系統,后來被Attachmate收購,對windows的支持很好
OpenSUSE:SuSE的公眾測試版,開放了源代碼。
第三部分,Linux的哲學思想
一、一切皆文件:把所有資源抽象為文件行為,包括硬件設備、通信接口。這使得Linux系統可以很清晰的占線出來,沒有封閉操作。
二、單一目的的小程序,組合小程序完成復雜任務:注重效率,排查簡單。
三、文本文件保存配置信息:簡化和統一程序管理操作
四、盡量避免捕獲用戶接口:易于變成的方式實現自動化任務
第四部分,Linux系統命令
一、命令格式
Prompt:命令提示符
root用戶提示符 :#
非root用戶提示符:$
COMMAND Options Arguments
COMMAND:命令名稱如awk
Options:定義命令的執行特性,可以有長短兩種選項
長選項:用–引導,后跟完整單詞,如–field-separator
短選項:用-引導,后跟單個字符,如-F
Arguments:表示命令的作用對象,如 : '{ print $1 }' /etc/passwd
則命令:awk -F : '{ print $1 }' /etc/passwd的含義為使用命令awk,并且將:作為分割符,輸出/etc/passwd文件夾中數據被分割的第一個字段。
二、常用命令解釋
ifconfig:查看活動的接口信息如IP地址等,類似ip addr list,如下:
[root@zabbix-test-01 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:A8:51:F3
inet addr:192.168.8.235 Bcast:192.168.8.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fea8:51f3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:190321 errors:0 dropped:0 overruns:0 frame:0
TX packets:102821 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:20816760 (19.8 MiB) TX bytes:10592644 (10.1 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:4325 errors:0 dropped:0 overruns:0 frame:0
TX packets:4325 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:491257 (479.7 KiB) TX bytes:491257 (479.7 KiB)
echo:回顯,如下:
[root@zabbix-test-01 ~]# echo hello world
hello world
tty:可以查看當前連接的終端,如下顯示當前終端界面屬于第一個邏輯終端(偽終端)
[root@zabbix-test-01 ~]# tty
/dev/pts/1
startx:啟動圖形界面命令,實際上是x window的腳本,后臺為init。
export:
pwd:
history:
shutdown:
poweroff:斷電關閉系統
reboot:重啟系統
hwclock:
date:
三、獲得命令的幫助信息
COMMAND –help
man COMMAND
四、基礎目錄命令法則及功能規定
思考:文件是什么?眾多文件如何有效的組織起來?
文件存放的兩種方式:平面化存放和結構化存放
目錄:路徑映射;
文件:存儲空間存儲的一段流式數據,對數據可以做到按名存取
文件系統:層級結構;有索引;倒置的樹狀結構,所有的文件都從根起始
/:原始起點
/二級目錄/三級目錄 :最左側的/表示根目錄,其它的/表示路徑分割符
linux的路徑分割符是/
windows的路徑分隔符是\
文件的路徑表示:
絕對路徑:從根開始表示出的路徑,如下:
/etc/passwd
最右側的文件或目錄名稱為basename,最左側的路徑為dirname
basename /PATH/TO/SOMEFILE
SOMEFILE
dirname /PATH/TO/SOMEFILE
/PATH/TO
相對路徑:從當前位置開始表示出的路徑
文件名使用法則:
文件名嚴格區分大小寫;
目錄也是文件,在同一路徑下,兩個文件不能同名;
文件名支持使用除/意外的任意字符;
文件名最長不超過255個字符
用戶家目錄:home
用戶的起始目錄:普通用戶管理文件的位置
五、Linux命令幫助信息
COMMAND –help #查詢命令所支持的參數的說明
help COMMAND #查詢命令的簡介和使用方法
man COMMAND #查看命令的正式文檔
man命令介紹:
查詢man文檔所在地可用命令manpath
[root@localhost ~]# manpath
/usr/local/share/man:/usr/share/man/overrides:/usr/share/man
man文檔分類:
1 Executable programs or shell commands
2 System calls (functions provided by the kernel)
3 Library calls (functions within program libraries)
4 Special files (usually found in /dev)
5 File formats and conventions eg /etc/passwd
6 Games
7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)
8 System administration commands (usually only for root)
9 Kernel routines [Non standard]
如ps命令為分類1,ifconfig命令為分類8
man文檔格式:
NAME命令名
SYNOPSIS簡述
NOTE筆記
DESCRIPTION命令描述
OPTIONS命令選型
EXAMPLES樣例
NOTES注釋
FILE所在目錄
BUGS
SEE ALSO參閱
AUTHORS作者
原創文章,作者:mwuyang,如若轉載,請注明出處:http://www.www58058.com/34589
寫的很好,排版還可以在漂亮一點,加油,是不是沒寫完?