1、計算的主要組成部件與功能
1946年ENIAC計算機研發完成,標志著電子計算機時代的正式到來。從第一代的電子管計算機(1945-1956),第二代的晶體管計算機(1956-1953),第三代的集成電路計算機(1964-1971),直到當今的大規模集成電路計算機,計算機的硬件組成結構都遵循馮諾依曼體系。
在馮諾依曼體系結構中,計算機的硬件設備分為:輸入設備、存儲器、運算器、控制器和輸出設備等五個基本組成部件。
現代計算機的硬件架構中:
CPU(Central Process Unit) 中心處理器,包含了五個基本組成部件中的兩個基本部件:運算器和控制器。
運算器:完成算術運算和邏輯運算等各種運算
控制器:控制總線使用權限;完成尋址,控制對內存的讀訪問和寫訪問
除此之外CPU中還有各類寄存器和緩存,是為提升CPU的運算性能而設計的,并非計算機架構中的核心組成部件。
存儲器:通常所將的內存(RAM Random Access Memory 隨機訪問存儲器)作為計算機體系中的存儲器
CPU和內存,組成了計算機架構中的最核心部件,整個計算機架構圍繞運算器、控制和存儲器,即可完成程序運行的所有操作。除此之外,還有兩個部件,用來使計算機按用戶需求完成計算:輸入設備(Input)和輸出設備(Output)。
輸入設備:用戶對計算機輸入操作指令,提供各類數據等(典型設備如鍵盤、鼠標、硬盤等)
輸出設備:用于輸出數據加工的結果(典型設備如顯示器、打印機等)
2、Linux的發型版
GNU組織規定任何符合GNU規范的軟件需要提供源代碼方式提供給用戶使用,但對源代碼的編譯過程專業性較強,編譯過程非常復雜,普通用戶難以進行。為了能夠讓終端用戶使用Linux操作系統,眾多商業公司和社區組織對操作系統及各類工具進行編譯打包,形成Linux的不同發行版。
目前,Linux發行版有數百種,任何商業公司和社區組織在遵循GNU組織的要求下,都可以按照自己的理解對Linux操作系統進行編譯并打包,加入自己發行版特色的軟件工具。
比如1994年,在美國北卡羅來納州成立的RedHat公司,對Linux進行編譯,并提供Linux系統的安裝程序等,便于終端用戶安裝使用。
目前最主流的Linux發行版的三大分支是:
Debian:
基于Debian分支比較著名的二次發行版有ubuntu和knopix
Slackware:
基于Slackware分支比較著名的二次發型版有S.U.S.E,S.U.S.E又衍生出了OpenSUSE
RedHat:
RedHat的企業版為(RedHat Enterprise Linux RHEL)基于此發型版衍生出的發型版為CentOS(Community Enterprise OS 社區企業版)
Linux的不同發行版間,使用相同的Linux內核,但使用不同的程序包管理工具進行程序管理,如Debian系列的發行版使用apt-get作為包管理工具,程序包格式為deb,Slackware系列的發行版使用zypper包管理工具,程序包格式為rpm,而RedHat系列發行版使用yum作為包管理工具,程序包格式為rpm。各發行版之間既有區別又有聯系,在GNU組織的GPL協議下各發行版取長補短共同發展。
3、Linux的哲學思想
??1、一切皆文件:Linux把幾乎所有資源統統抽象為文件形式,包括硬件設備,甚至通信接口等
2、由眾多功能單一的小程序組成:單個小程序的性能和質量可以不斷提升,成為高效的唯一程序,其他程序可以直接使用“輪子”,而不需要每個程序都來造輪子
3、通過組合多個小程序,完成復雜任務:組合多個高效的小程序,復雜任務的處理必然也是高效的
4、程序啟動后,盡量避免用戶交互:這種方式易于以編程的方式實現自動化任務
5、使用文本文件保存配置信息:這種設計便于用戶對程序配置做出調整
4、常用命令的使用格式
在Linux的CLI(Command Line Interface) 模式下,可以使用Linux命令實現對Linux系統的管理,Linux命令提示符各符合含義如下:
[root@node1 ~]# COMMAND
root:當前登錄用戶
node1:當前主機的主機名,非完整格式
完整格式為:node1.magedu.com(加上了域名)
~ :用戶當前所在目錄(current directory),也稱為工作目錄(working directory),相對路徑
# :管理員賬號 root:擁有最高權限,能執行所有操作
$ :普通用戶,非root,不具有管理權限,不能執行系統管理類操作
???使用命令的基本格式如下:
COMMAND OPTIONS ARGUMENTS
COMMAND:命令名稱
OPTIONS:選項(調整命令的運行特性);選項有短選項和長選項的區別,如果同一命令同時使用多個短選項,多數情況下可合并表示,長選項不能合并;有些選項可以帶參數,此稱為選項參數,而不是命令參數;短選項的參數用空格來分隔,長選項的參數用 “=” 來設置。
ARGUMENTS:參數 (命令的作用對象:命令對什么生效),不同命令的參數格式不同;有些命令可同時帶多個參數,多個參數之間以空格分隔。
??ifconfig命令:查看活動接口的ip地址
?echo命令:回顯命令
???tty命令:查看當前終端設備
startx命令:啟動X-window桌面環境
?export命令:用于將shell變量輸出為環境變量,或者將shell函數輸出為環境變量
?pwd命令:(printing working directory) 顯示工作目錄
?history命令:查看命令歷史命令
shutdown命令:關機命令
???poweroff命令:關機命令
?reboot命令:重啟機器命令
?hwclock命令:與clock相同,查看硬件時鐘
?date命令:查看系統時鐘
5、獲取幫助的方式及man的章節劃分
按照在文件系統上是否存在一個與命令相對應的程序文件這一標準進行判斷,命令分為內建命令和外部命令。所有外部文件,在文件系統的目錄中都有一個與命令名相同的獨立的程序文件。用戶選用的Shell環境本身也是一個外部命令,但Shell命令中內建了眾多保證系統運行的基本命令,這部分命令稱為內建命令,不同Shell環境中的內建命令可能存在不通用的情況。
使用 type命令可以用來區分內建命令和外部命令。
type COMMAND
內部命令:builtin
外部命令:顯示為命令文件所在路徑
Linux的內建命令和外部命令獲取幫助的方法不同。
針對Linux的內建命令:help COMMAND
針對Linux的外部命令獲取幫助的方法較多:
1、查看命令自帶的簡要格式使用幫助: COMMAND –help
2、使用手冊(manual)查看命令詳情:man COMMAND
3、獲取命令的在線文檔 :info COMMAND
4、查看命令自帶的說明文檔,包括README、CHANGELOG、INSTALL
5、Linux主流發行版的官方網站上的幫助文檔
6、程序命令官方網站上的幫助文檔
7、通過搜索引擎獲得命令的使用說明
8、通過各種技術書籍獲取命令使用說明
以上獲取命令幫助的方式中,通過man命令查看程序幫助的方式最為方便和全面,用戶可用隨時通過 man COMMAND 命令查詢命令幫助。
man命令通過不同章節對命令進行分類:
man1:用戶可用命令(User Commands)
man2:使用函數庫中程序可用的系統調用
man3:程序中可用的C庫調用
man4:設備文件及特殊文件
man5:文件格式(配置文件格式)
man6:游戲使用幫助
man7:雜項
man8:管理工具及守護進程
部分命令會同時在多個章節中出現。使用whatis命令可用查看到命令在man命令的哪些章節的中存在幫助信息。
6、Linux目錄命名法則及功用規定
? Linux目錄命名規則:
1、Linux的目錄是路徑映射文件(遵循一切皆文件思想,目錄本身也是文件)
2、Linux的目錄名中不能帶有“/”符號
3、Linux的目錄名大小寫敏感
4、以“.”開頭的目錄名將成為隱藏文件
5、使用特殊字符作為目錄名合法,但極其不建議使用
6、Linux的目錄名不能超過255個字符
為了避免Linux眾多發行版各自為政,避免不同發型版的文件體系出現較大區別,Linux標準化組織制定了FHS(Filesystem Hierarchy Standard)標準,規定了Linux發行版的標準目錄體系結構。
FHS標準對 “/” 目錄下的文件設置給出了明確的規范。下面對 “/” 目錄下的一層文件目錄的主要作用進行說明:
/bin:所有用戶可用的基本命令程序文件(二進制文件)
/sbin:供系統管理使用的命令乘車文件(系統管理的二進制文件)
/boot:引導加載器必須用到的各靜態文件:kernel,initramfs(initrd),grub等
/dev :存儲特殊文件或設備文件
設備文件有兩種類型:字符設備(鍵盤是典型的線性設備,有時序性)、塊設備(硬盤是典型的塊設備,文件存儲為不同的block,是隨機的,可以訪問任何一個項目,比如內存 Random Access Memory)
/etc? :系統程序的配置文件 ,只能為靜態文件(文本文件)。主機特有的系統配置文件
/home:普通的家目錄的集中位置,一般每個普通用戶的家目錄默認為此目錄下與用戶名同名的子目錄,/home/USERNAME
/lib :為系統啟動或根文件系統上的應用程序(/bin和/sbin等)提供共享庫文件,以及為內核提供內核模塊。
libc.so.* :動態鏈接C庫
ld*? 運行時鏈接器或加載器
modules 用于存儲內核模塊的目錄
/lib64 :64位系統特有的存放64位共享庫的路徑;為了能夠實現系統的向下兼容,64位系統下必然會有 “/lib” 目錄,但32位系統下不一定有”/lib64″ 目錄,此目錄為可選目錄。
/media : 為便攜設備提供掛載點,cdrom,floppy等
/mnt : 其他文件系統的臨時掛載點
/opt :? 附件應用程序(第三方應用程序)的安裝位置,可選路徑
/srv :? 當前主機為服務提供的數據
/tmp : 為那些會產生臨時文件的程序提供的用于存儲臨時文件的目錄,可供所有用戶執行寫入操作,所有用戶都能
/usr :? user hierarchy 全局共享只讀數據路徑,本身就是一個層級結構,其下有bin、sbin、lib、lib64、include(C程序頭文件)、share(命令手冊頁和自帶文檔等架構特有的文件的存儲位置)、local(另一個層級目錄)、X11R6(Xwindow程序的安裝位置)、src(程序源碼文件的存儲位置)
/usr/local : Local Hierarchy,讓系統管理員安裝本地應用程序,也通常用于安裝第三方程序。
/var : var heirarchy,存儲經常發生變化的數據的目錄
/proc :基于內存的虛擬文件系統(臨時的,關機后將消失),用于為內核及進程存儲其相關信息,他們多為內核參數。例如,net、ipv4、ip_forward、虛擬為 net/ipv4/ip_forward,存儲于 /proc/sys/ , 因此其完整的路徑為:/proc/sys/net/ipv4/ip_forward
/sys : sysfs 虛擬文件系統提供了一種比 proc 更為理想的訪問內核數據的途徑,其主要作用在于為管理Linux設備提供一種統一模型的接口
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/98316