1.描述計算機的組成及其功能
計算機的組成部分分為硬件部分與軟件部分
硬件部分: I/O設備 + 運算器 + 存儲器 + 控制器
軟件部分: kernel + Application
說完了硬件部分邏輯層面上的組成,那么我們實際能看到的這些是什么呢:
通常意義而言CPU就是控制器+運算器;內存,磁盤,固態等存儲設備即為硬件部分的存儲器;那么這里剩下的只有I/O設備沒有提到了,其中I代表的是input,即為輸入設備,最最常見的輸入設備就是我現在正在用來敲博客的鍵盤,還有一些比如說掃描儀等,這里的O代表的是output,是指輸出設備,顯示器是輸出設備,還有哪些呢,稍微想了下,也就想到了另一個設備,投影儀,為了方便我自己記憶(即使這個博客是我寫的,難免會忘),所有能讓我告訴計算機干什么的,都是輸入設備;所有讓我看到計算機反饋結果的都是輸出設備。
其實上面提到了I/O設備在我心中的理解,書面上所表達的內容就不贅述了。說到控制器與運算器的結合體,那么就是指CPU了,CPU架構我所知道的就是 Inter公司的x64架構以及x86架構,I還有其他公司的,例如IBM公司,惠普公司他們自己家研發的且是我所沒用過一些架構就不多提了,其實我也不知道這些架構具體區別在哪里,聽馬老師視頻內容里面提到的是微指令集的不同,以及開放的接口有所不同(天啊,老師,您說的丑陋的底層接口,到底是指啥?。?。所謂控制器,網上查閱的資料反正是沒看懂,通俗意義上來說應該是通過指令集來控制整個計算機。運算器負責進行邏輯運算和算數運算,根據資料,邏輯運算分為三種:邏輯與,邏輯或,邏輯非(這都是啥啊,知識的掌握有待加強)。最后不得不提到就是存儲器了,首先是內存,有一句話是這樣說的,所有的進程都是跑在內存里面的,斷電所有內存中的數據丟失,為了解決數據丟失的問題,就又有了機械硬盤,當然還有速度更加強大的固態硬盤,簡單總結下就是,內存是用來跑程序的,斷電數據丟失;硬盤用來存數據的,斷電數據不丟失。
軟件部分:
kernel,中文翻譯為內核,狹義上的操作系統,是通常意義上操作系統的最底層,負責硬件的驅動以及提供系統所需要的各種功能,例如:防火墻,程序管理,文件系統等??梢岳斫鉃橛布c軟件之間的橋梁。
Application,中文翻譯為應用,跑在內核之上的程序,用來完成具體的功能的實現,比如說,畫圖,總要有一個畫圖軟件的吧,那這個畫圖軟件就是Application。
2.按系列羅列linux的發行版并描述不同發行版之間的聯系與區別
三大主流系列:Redhat Debian slackeare
三大主流系列的區別:包管理方式的不同,以及包管理前端軟件的不同。
包管理 前端軟件
Redhat: rpm Yum
Debian: dpkg Apt
S.U.S.E rpm zypper(S.U.S.E是slackware的二次發行版)
還有一些比較著名的linux發行版,比如說Gentoo,archlinux
還有一個比較特殊的linux發行版,LFS,提供的是一本書,教我們如何從零構建Linux
Redhat–>Centos Centos是Redhat的社區版,有著相同的源碼
–>Fedora 為Redhat測試軟件,是桌面版的
Debian–>Ubuntu Debian的二次發行版,有著漂亮的界面
–>Knopix Debian的二次發行版
slackware–>S.U.S.E slackware的二次發行版,流行與歐洲
S.U.S.E–>opensuse opensuse是S.U.S.E的社區版,由社區支持,完全免費。
3.描述Linux哲學思想,并按照自己的理解對其進行解釋型描述。
1、一切皆文件; 系統中所有的一切,包括設備等,都是以文件的形式出現。
2、單一目的的小程序; 每個小程序完成一種功能,并且盡量保證這一個小程序出現的bug少。
3、組合小程序完成復雜任務; 通過拼湊各種功能的小程序,來完成一件復雜的任務。
4、文本文件保存配置信息; 所有軟件的配置文件都是以文本文件的形式來進行保存的,方便通過修改配置文件來完成軟件不同功能的實現。
5、盡量避免捕獲用戶接口; 方便編程完成自動化操作
理解:以上應該是linux的設計理念吧,那為什么要設計成上面這個樣子呢?那得問設計者。不過提到哲學思想,linux是開源的代表,自由和分享是開源的精神思想,就好像老師在課中提到的共產主義。自由不是狹義上的軟件源代碼獲取的自由,而是外界對于你形成幫助的自由,在你還是新人時無需為獲得的幫助付出金錢上的代價,代碼的免費獲取,文檔資料的獲取,都是自由的,沒有背負金錢的枷鎖。當你通過自由得到的各種資源,成為一個技術達人,或者說,成為了一個小有成就的,在面對那些需要幫助的人,在力所能及的范圍內提供無私的分享以及幫助,在各種論壇上分享經驗,寫技術博客。
4.說明Linux系統上命令的使用格式,詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相應的示例來闡述
命令的使用格式:命令 [選項] [參數]
為了對命令的解釋更加簡潔明了,這里將以相對簡單的方式來解釋這些命令。
不得不說的是,我選擇了minimal的安裝方式,沒有辦法完成對ifconfig的解釋?。。?/span>
這里就用ip addr list代替下吧,就是用來顯示網絡設備狀態的,有圖有真相
有沒有看到eno16777736,這玩意就是我的網卡,至于上面那個lo肯定就是環回口了。環回口干嘛的,我也不知道啊
echo 功能是顯示文本 語法格式 echo [-ne] [字符串] echo會將輸入的字符串間以空白符隔開,并在最后加上換行符號
tty 功能是顯示終端鏈接標準輸入設備的文件名稱 語法格式: tty [-s] 試了下,不知道后面加個s能干嘛
startx 問題又來了,我是minimal安裝,沒有桌面,我倒是想裝,可是我不會啊。正題來了,這是一個用于啟動x-window程序的命令
用法是 startx & 你在哪個虛擬終端啟動的,哪個虛擬終端就是你的x-window,這個我真的沒圖啊。
export 設置或顯示環境變量 語法:export [-fnp][變量名稱]=[變量設置值] 沒看懂這個,不知道怎么去操作
pwd 顯示當前的工作目錄
history 功能是列出之前用過的命令 語法: history [N] [-arw] [文件名]
shutdown 功能是關機 語法: shutdown [選項] [秒數] [時間] [警告信息]
我的實例時 shutdown -h now 立即關機,圖就沒有了。
poweroff 語法:poweroff [選項] 這是一種不安全的關機方式,可能導致數據丟失,建議使用shutdown
用法就是直接 poweroff
reboot 語法: reboot [選項] 重新啟動計算機
#reboot 先關閉所有的網絡接口設備后,再重新開機
hwclock 功能是顯示與設置硬件時鐘 語法: hwclock [選項]
date 顯示和設置系統系統時間 語法 date [選項] [參數]
5.如何在Linux系統上獲取命令的幫助信息,請詳細列出,并描述man文檔的章節是如何劃分的。
內部命令使用 help 命令(中間有空白符隔開)來查看命令的幫助
外部命令使用 man 命令 來查看系統里面自帶的幫助文檔
info 命令 來查看在線的幫助文檔(這個文檔主要是對man幫助的不足,以及命令的信息)
應用程序自帶的幫助文檔在/usr/share/doc/ 里面
程序官方站點,主流發行版官網文檔,搜索引擎這些就非狹義上的linux上獲取命令的幫助信息。
著重介紹man命令
man幫助里面的文檔位置在/usr/share/man/ 下,其中不同部分的作用分別是一下內容:
NAME:簡單命令、數據名稱說明
SYNOPSIS:簡短的命令語法(sysntax)簡介
DESCRIPTION:較為完整的說明,需要認真閱讀
OPTION:針對SYNOPSIS中列舉的所有可用選項說明
COMMANDS:當這個軟件在執行的時候,可用在此軟件中使用命令
FILES:這個軟件或數據所使用或參考或鏈接到的文件
SEE ALSE:可以參考的,與這個命令有關的其他說明
EXAMPLE:一些可以參考的范例,這個最好用
BUGS:是否有相關的bug
…同類可以重復使用
man文檔章節劃分(需要注意的是有的命令里會同時出現在不同的章節里)
1:用戶命令;
2:系統調用;
3:C庫調用;
4:設備文件及特殊文件;
5:文件格式;(配置文件格式)
6:游戲使用幫助;
7:雜項;
8:管理工具及守護進行;
6.請羅列出Linux發行版的基礎目錄名稱命名法則及功用規定。
FHS:
Filesystem Hierarchy Standard
/bin:所有用戶可用的基本命令程序文件;
/sbin:供系統管理使用的工具程序;
/boot:引導加載器必須用到的各靜態文件:kernel, initramfs(initrd), grub等;
/dev:存儲特殊文件或設備文件;
設備有兩種類型:字符設備(線性設備)、塊設備(隨機設備);
/etc:系統程序的配置文件,只能為靜態;
/home:普通的家目錄的集中位置;一般每個普通用戶的家目錄默認為此目錄下與用戶名同名的子目錄,/home/USERNAME;
/root:管理員的家目錄;可選;
/lib:為系統啟動或根文件系統上的應用程序(/bin, /sbin等)提供共享庫,以及為內核提供內核模塊
libc.so.*:動態鏈接的C庫;
ld*:運行時鏈接器/加載器;
modules:用于存儲內核模塊的目錄;
/lib64:64位系統特有的存放64位共享庫的路徑;
/media:便攜式設備掛載點,cdrom, floppy等;
/mnt:其它文件系統的臨時掛載點;
/opt:附加應用程序的安裝位置;可選路徑;
/srv:當前主機為服務提供的數據;
/tmp:為那些會產生臨時文件的程序提供的用于存儲臨時文件的目錄;可供所用戶執行寫入操作;有特殊權限;
/usr:usr Hierarchy,全局共享的只讀數據路徑;
bin, sbin
lib, lib64
include:C程序頭文件;
share:命令手冊頁和自帶文檔等架構特有的文件的存儲位置
local:另一個層級目錄;
X11R6:X-Window程序的安裝位置
src:程序源碼文件的存儲位置
/usr/local:Local hierarchy,讓系統管理員安裝本地應用程序;也通常用于安裝第三方程序;
/var:/var Hierarchy,存儲常發生變化的數據的目錄;
cache Application cache data
lib Variable state information
local Variable data for /usr/local
lock Lock files
log Log files and directories
opt Variable data for /opt
run Data relevant to running processes
spool Application spool data
tmp Temporary files preserved between system reboots
/proc:基于內存的虛擬文件系統,用于為內核及進程存儲其相關信息;它們多為內核參數,例如net.ipv4.ip_forward, 虛擬為net/ipv4/ip_forward, 存儲于/proc/sys/, 因此其完整路徑為/proc/sys/net/ipv4/ip_forward;
/sys:sysfs虛擬文件系統提供了一種比proc更為理想的訪問內核數據的途徑;其主要作用在于為管理Linux設備提供一種統一模型的的接口.
原創文章,作者:Jesse,如若轉載,請注明出處:http://www.www58058.com/34345
寫的很好,排版還可以在漂亮一點,加油