– 描述計算機的組成及其功能。
– 按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別。
– 描述Linux的哲學思想,并按照自己的理解對其進行解釋性描述。
– 說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相應的示例來闡述。
– 如何在Linux系統上獲取命令的幫助信息,請詳細列出,并描述man文檔的章節是如何劃分的。
– 請羅列Linux發行版的基礎目錄名稱命名法則及功用規定。
Ⅰ、描述計算機的組成及其功能.
(參考網址:http://share.onlinesjtu.com/course/view.php?id=3#)
一、硬件(Hardware):基礎
1、計算機硬件是組成計算機的所有電子器件和機電裝置的總稱。 2、計算機硬件分為:運算器、控制器、存儲器、輸入輸出設備、總線。 3、其中運算器和控制器等部件集成在一起統稱為中央處理單元,又叫CPU。它對于一個計算機來說,就相當于人類的大腦,可以程序控制、操作控制、時間控制、數據控制等,它是由運算器、控制器、寄存器組和總線等部件組成。
馮·諾伊曼體系結構
* 主要特點:使用二進制數和存儲程序 * 設計思想:存儲程序并按地址順序執行 * 程序及操作數據一同存儲
哈佛體系結構(Harvard Architecture)
* 源自Harvard Mark I計算機,程序與操作數據分開存儲 * 現代馮·諾伊曼計算機在設計中展示出了某些哈佛體系結構的特性,如高速緩存Cache
二、軟件(Software):靈魂
* 計算機軟件是程序的有序集合 * 程序則是指令的有序集合
1.軟件系統:一臺計算機中全部程序的集合,統稱為這臺計算機的軟件系統。
*計算機軟件按其功能可分為應用軟件和系統軟件兩大類: 1)應用軟件是為解決某種應用問題而編制的程序 2)系統軟件用于實現計算機系統的管理、調度、監視和服務等功能
2.程序設計語言。
1)機器語言 *早期人們直接用機器語言(即機器指令代碼)編寫程序,計算機完全可以“識別”并執行,所以又叫做目的程序 *但是用機器語言編寫程序需要耗費大量的人力和時間,且容易出錯 2)匯編語言: *指令助記符:用約定的文字、符號和數字按規定格式表示各種不同指令,每條基本指令都被指定一個表示其功能又便于記憶的短的名字 *匯編語言(Assembly Language):用指令助記符表示的指令來編寫程序 *匯編程序(Assembler):把匯編語言程序轉換為計算機可理解的、用機器語言表示的目的程序 *機器語言及匯編語言,對特定類型計算機而言是唯一的 3)算法語言: *算法語言 *按實際需要規定好的一套基本符號,以及由這套基本符號構成程序的規則 *接近數學語言,直觀通用,與具體機器無關 *能夠便利地表達程序員的設計思想,減少程序錯誤 *源程序(Source) *用算法語言編寫的程序,不能由機器直接識別和執行 *必須“翻譯”為機器語言后才能由機器識別和執行 *源程序“翻譯”方法 a、編譯程序(Compiler) *把用算法語言編寫的源程序翻譯成目的程序,然后在運行系統中執行目的程序,得出計算結果 *編譯程序和運行系統合稱為編譯系統 b、解釋程序(Interpreter) *進行解釋執行,即逐個解釋并立即執行源程序的語句 *不是編譯出目的程序后再執行,而是逐一解釋語句并立即得出計算結果
3.操作系統:管理計算機資源(如處理器、存儲器、外圍設備和各種編譯、應用程序)
*管理計算機資源(如處理器、存儲器、外圍設備和各種編譯、應用程序) *自動調度用戶的作業程序 *使多個用戶能有效地共用一套計算機系統
4.數據庫
*大量數據和表格按一定的規律組織起來,形成數據庫(Database,DB) *數據庫就是實現有組織、動態地存儲大量相關數據,方便多用戶訪問的計算機軟、硬件資源所組成的系統 *數據庫和數據庫管理軟件一起,組成了數據庫管理系統(Database Management System,DBMS)
三、固件:
* 隨著大規模集成電路技術的發展和軟件硬化的趨勢 *任何操作,既可由軟件實現,也可由硬件實現 *任何指令的執行,既可由硬件完成,也可由軟件完成 *計算機系統的軟件與硬件可互相轉化,互為補充 * 軟件固化 *把復雜、常用的程序用ROM制作成固件(Firmware) *就其功能而言是軟件,但從形態來說又是硬件 *本來軟件實現的某些功能,可通過硬件直接解釋執行
Ⅱ、按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別。
(參考地址:http://www.cnblogs.com/otosis/p/5914102.html)
1、Linux是一個誕生于網絡、成長于網絡且成熟于網絡的奇特的操作系統。1991年,芬蘭大學生Linus Torvalds萌發了開發一個自由的UNIX操作系統的想法,當年,Linux就誕生了,為了不讓這個羽毛未豐的操作系統矢折,Linus將自已的作品Linux通過Internet發布。從此一大批知名的、不知名的電腦黑客、編程人員加入到開發過程中來,Linux逐漸成長起來。 2、Linux一開始是要求所有的源碼必須公開,并且任何人均不得從Linux交易中獲利。然而這種純粹的自由軟件的理想對于Linux的普及和發展是不利的,于是Linux開始轉向GPL,成為GNU陣營中的主要一員。 3、Redhat,應該稱為Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所謂的Redhat Advance Server收費版本)、FedoraCore(由原來的Redhat桌面版本發展而來,免費版本)、CentOS(RHEL的社區克隆版本,免費)。Redhat應該說是在國內使用人群最多的Linux版本,甚至有人將Redhat等同于Linux,而有些老鳥更是只用這一個版本的Linux。所以這個版本的特點就是使用人群數量大,資料非常多,言下之意就是如果你有什么不明白的地方,很容易找到人來問,而且網上的一般Linux教程都是以Redhat為例來講解的。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分發方式是編譯好的二進制文件。穩定性方面RHEL和CentOS的穩定性非常好,適合于服務器使用,但是Fedora Core的穩定性較差,最好只用于桌面應用。 4、Debian,或者稱Debian系列,包括Debian和Ubuntu等。Debian是社區類Linux的典范,是迄今為止最遵循GNU規范的Linux系統。Debian最早由Ian Murdock于1993年創建,分為三個版本分支(branch): stable, testing和unstable。其中,unstable為最新的測試版本,其中包括最新的軟件包,但是也有相對較多的bug,適合桌面用戶。testing的版本都經過unstable中的測試,相對較為穩定,也支持了不少新技術(比如SMP等)。而stable一般只用于服務器,上面的軟件包大部分都比較過時,但是穩定和安全性都非常的高。Debian最具特色的是apt-get /dpkg包管理方式,其實Redhat的YUM也是在模仿Debian的APT方式,但在二進制文件發行方式中,APT應該是最好的了。Debian的資料也很豐富,有很多支持的社區,有問題求教也有地方可去。 5、Ubuntu嚴格來說不能算一個獨立的發行版本,Ubuntu是基于Debian的unstable版本加強而來,可以這么說Ubuntu就是一個擁有Debian所有的優點,以及自己所加強的優點的近乎完美的Linux桌面系統。根據選擇的桌面系統不同,有多個版本可供選擇,比如基于unity的Ubuntu,基于Gnome的Ubuntu Gnome,基于KDE的Kubuntu,基于LXDE的Lubuntu以及基于Xfce的Xubuntu等。特點是界面非常友好,容易上手,對硬件的支持非常全面,是最適合做桌面系統的Linux發行版本。 6、Gentoo,偉大的Gentoo是Linux世界最年輕的發行版本,正因為年輕,所以能吸取在她之前的所有發行版本的優點,這也是Gentoo被稱為最完美的Linux發行版本的原因之一。 7、FreeBSD,需要強調的是:FreeBSD并不是一個Linux系統!但FreeBSD與Linux的用戶群有相當一部分是重合的,二者支持的硬件環境也比較一致,所采用的軟件也比較類似,所以可以將FreeBSD視為一個Linux版本來比較。 8、FreeBSD擁有兩個分支:stable和current。顧名思義,stable是穩定版,而current則是添加了新技術的測試版。FreeBSD采用Ports包管理系統,與Gentoo類似,基于源代碼分發,必須在本地機器編后后才能運行,但是Ports系統沒有Portage系統使用簡便,使用起來稍微復雜一些。FreeBSD的最大特點就是穩定和高效,是作為服務器操作系統的最佳選擇,但對硬件的支持沒有Linux完備,所以并不適合作為桌面系統。
Ⅲ、描述Linux的哲學思想,并按照自己的理解對其進行解釋性描述。
-哲學思想-
1、一切皆文件; 2、由眾多單一目的的小程序,一個程序只實現一個功能,多個程序組合完成復雜任務; 3、文本文件保存配置信息; 4、盡量避免捕獲用戶接口; 5、提供機制,而非策略。
-開源共享精神-
開源的特點簡單來說就是將軟件程序與源代碼一起打包提供,讓用戶可以不受限制的使用某個軟件的功能并且隨意修改,甚至修改成衍生產品再發布出去。具有使用自由、修改自由、重新發布自由以及創建衍生品的自由,這正好符合了黑客、極客們的追求,因此國內外開源社區的根基都很壯大,人氣也很高。坦白來講,每個從事于Linux行業的技術人或者程序員只要聽到開源項目的興起就會由衷的自豪,這是一種從骨子里帶有的獨特情懷,開源企業不單純為了利益,而是互相扶持,努力服務好更多的用戶。
-分享的責任與獲取的自由-
自由:不是愚昧無知愚蠢任性的自由,而是在明白前因后果的前提下的無約束發揮創造力 分享:不是無條件得將自己思考與成就交給全世界,而是分享給內行,分享給值得分享得人
Ⅳ、說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相應的示例來闡述。
*Linux系統常用命令格式 command [options] [arguments] command:命令 options:參數 --單詞(長選項) 或 -單字(短選項),可合并 argument:對象(目錄名稱或其他)
1、ifconfig用于獲取網卡配置與網絡狀態等信息:格式為"ifconfig [網絡設備] [參數]"。
查看本機當前的網卡配置與網絡狀態等信息,咱們主要就是看每段開頭的網卡名稱、inet參數后面的IP地址、ether參數后面的物理mac地址以及RX、TX的接收與發送數據包的大?。?/p>
[root@UncleZ ~]# ifconfig eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.10.12 netmask 255.255.255.0 broadcast 192.168.10.255 inet6 fe80::20c:29ff:fe0f:cb88 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:0f:cb:88 txqueuelen 1000 (Ethernet) RX packets 450 bytes 48481 (47.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 409 bytes 41997 (41.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) RX packets 12 bytes 1078 (1.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 12 bytes 1078 (1.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2、echo命令用于在終端顯示字符串或輸出變量提取后的值,格式為:“echo [字符串 | $變量]”。
將指定字符串輸出到終端屏幕:
[root@UncleZ ~]# echo linux linux
使用$變量的方式提取變量值并輸出到屏幕:
[root@UncleZ ~]# echo $SHELL /bin/bash
3、tty命令用于顯示終端機連接標準輸入設備的文件名稱。tty [-s][–help][–version]
在Linux操作系統中,所有外圍設備都有其名稱與代號,這些名稱代號以特殊文件的類型存放于/dev目錄下。你可以執行tty(teletypewriter)指令查詢目前使用的終端機的文件名稱。
-s或--silent或--quiet 不顯示任何信息,只回傳狀態代碼。 --help 在線幫助。 --version 顯示版本信息。
顯示當前終端
[root@UncleZ ~]# tty /dev/pts/1
4、startx命令用于啟動X Window。startx [程序][–服務器設置]
startx為啟動X Window的script文件,實際上啟動X Window的程序為xinit。
[程序] 此處所指定的[程序]為X Window所要執行程序的配置文件。 [--服務器設置] startx預設會去讀取.xerverrc中的配置,決定啟動X Window的方式。
5、export命令用于設置或顯示環境變量。export [-fnp][變量名稱]=[變量設置值]
在shell中執行程序時,shell會提供一組環境變量。export可新增,修改或刪除環境變量,供后續執行的程序使用。export的效力僅及于該次登陸操作。
-f 代表[變量名稱]中為函數名稱。 -n 刪除指定的變量。變量實際上并未刪除,只是不會輸出到后續指令的執行環境中。 -p 列出所有的shell賦予程序的環境變量。
列出當前所有的環境變量
[root@UncleZ ~]# export -p declare -x HISTCONTROL="ignoredups" declare -x HISTSIZE="1000" declare -x HOME="/root" declare -x HOSTNAME="UncleZ" declare -x LANG="en_US.UTF-8" declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s" declare -x LOGNAME="root"
定義環境變量
[root@UncleZ ~]# export ZWP [root@UncleZ ~]# export -p |grep 'ZWP' (查看是否定義成功) declare -x ZWP
定義環境變量并賦值
[root@UncleZ ~]# clear [root@UncleZ ~]# export NUM=21 [root@UncleZ ~]# export -p | grep 'NUM' declare -x NUM="21"
6、pwd命令用于顯示當前所處的工作目錄,格式為:“pwd [選項]”。
[root@UncleZ ~]# pwd /root
7、history命令用于顯示歷史執行過的命令,格式為:“history [-c]”。
history命令默認會保存1000條執行過的命令,若要修改可直接編輯/etc/profile文件的HISTSIZE值。它能顯示出當前用戶在本地計算機中執行過的所有命令記錄,您可以使用-c參數來清空里面的歷史數據,還可以使用“!編碼數字”的方式來重復執行某一次的命令:
[root@UncleZ ~]# history 1 cd 2 mkdir /mnt 3 mount /dev/sr0 /mnt 4 vim /etc/fstab 5 mount 6 ifcofnig 7 ifconfig 8 systemctl restart network 9 ifconfig 10 vim /etc/yum.repos.d/rhel7.repo 11 mount 12 umount /dev/cdrom 13 mount /dev/cdrom /mnt 14 mount 15 ifconfig
歷史命令會被保存到用戶家目錄中的".bash_history"文件中。Linux系統中以點(.)開頭的文件均代表隱藏文件,一般會是系統文件。
清空該用戶在本機中執行過命令的歷史記錄:
[root@UncleZ ~]# history -c [root@UncleZ ~]# history 1 history
8、shutdown命令可以用來進行關機程序,并且在關機以前傳送訊息給所有使用者正在執行的程序,shutdown 也可以用來重開機。
shutdown [-t seconds] [-rkhncfF] time [message] -t seconds : 設定在幾秒鐘之后進行關機程序 -k : 并不會真的關機,只是將警告訊息傳送給所有只用者 -r : 關機后重新開機 -h : 關機后停機 -n : 不采用正常程序來關機,用強迫的方式殺掉所有執行中的程序后自行關機 -c : 取消目前已經進行中的關機動作 -f : 關機時,不做 fcsk 動作(檢查 Linux 檔系統) -F : 關機時,強迫進行 fsck 動作 time : 設定關機的時間 message : 傳送給所有使用者的警告訊息
立即關機
[root@UncleZ ~]# shutdown -h now
指定5分鐘后關機
[root@UncleZ ~]# shutdown +5 “System will shutdown after 5 minutes” //5分鐘夠關機并顯示警告信息
9、reboot命令用于重啟系統,格式為:"reboot"。
-n : 在重開機前不做將記憶體資料寫回硬盤的動作 -w : 并不會真的重開機,只是把記錄寫到 /var/log/wtmp 檔案里 -d : 不把記錄寫到 /var/log/wtmp 檔案里(-n 這個參數包含了 -d) -f : 強迫重開機,不呼叫 shutdown 這個指令 -i : 在重開機之前先把所有網絡相關的裝置先停止
重啟計算機這種操作會涉及到對硬件資源的管理權限,因此默認只能使用root用戶來重啟您的電腦:
[root@UncleZ ~]# reboot
10、poweroff命令用于關閉系統,格式為:"poweroff"。
關機命令也同理,默認只有root用戶才可以關閉您的電腦:
[root@UncleZ ~]# poweroff
11、hwclock命令用于顯示與設定硬件時鐘。
在Linux中有硬件時鐘與系統時鐘等兩種時鐘。硬件時鐘是指主機板上的時鐘設備,也就是通常可在BIOS畫面設定的時鐘。系統時鐘則是指kernel中的時鐘。當Linux啟動時,系統時鐘會去讀取硬件時鐘的設定,之后系統時鐘即獨立運作。所有Linux相關指令與函數都是讀取系統時鐘的設定。
hwclock [--adjust][--debug][--directisa][--hctosys][--show][--systohc][--test][--utc][--version][--set --date=<日期與時間>] --adjust hwclock每次更改硬件時鐘時,都會記錄在/etc/adjtime文件中。使用--adjust參數,可使hwclock根據先前的記錄來估算硬件時鐘的偏差,并用來校正目前的硬件時鐘。 --debug 顯示hwclock執行時詳細的信息。 --directisa hwclock預設從/dev/rtc設備來存取硬件時鐘。若無法存取時,可用此參數直接以I/O指令來存取硬件時鐘。 --hctosys 將系統時鐘調整為與目前的硬件時鐘一致。 --set --date=<日期與時間> 設定硬件時鐘。 --show 顯示硬件時鐘的時間與日期。 --systohc 將硬件時鐘調整為與目前的系統時鐘一致。 --test 僅測試程序,而不會實際更改硬件時鐘。 --utc 若要使用格林威治時間,請加入此參數,hwclock會執行轉換的工作。 --version 顯示版本信息。
顯示當前時間
[root@UncleZ ~]# hwclock Fri 02 Dec 2016 02:25:08 PM CST -0.726912 seconds
查看版本信息
[root@UncleZ ~]# hwclock -v hwclock from util-linux 2.23.2
12、date命令用于顯示及設置系統的時間或日期,格式為:"date [選項] [+指定的格式]"。
強大的date命令只需鍵入以"+"號開頭的參數即可按照指定格式來輸出系統的時間或日期,這樣日常工作時咱們便可以將打包數據的備份命令與指定格式輸出的時間信息結合到一起,使得咱們可以更加便捷的區分每個文件的備份時間啦,date命令常見的格式如下: 參數 作用 %t 跳格[TAB鍵] %H 小時(00-23) %I 小時(00-12) %M 分鐘(00-59) %S 秒(00-59) %X 相當于%H:%M:%S %Z 顯示時區 %p 顯示本地AM或PM %A 星期幾 (Sunday-Saturday) %a 星期幾 (Sun-Sat) %B 完整月份 (January-December) %b 縮寫月份 (Jan-Dec) %d 日(01-31) %j 一年中的第幾天(001-366) %m 月份(01-12) %Y 完整的年份
按照默認的格式查看當前的系統時間:
[root@UncleZ ~]# date Fri Dec 2 13:00:56 CST 2016
按照"年-月-日 小時:分鐘:秒"的格式查看當前的系統時間:
[root@UncleZ ~]# date "+%Y-%m-%d %H:%M:%S" 2016-12-02 13:01:45
設置當前的系統時間為2016年9月1日8點30分:
[root@UncleZ ~]# date -s "20160901 8:30:00" Thu Sep 1 08:30:00 CST 2016
再次按照默認的格式查看當前的系統時間:
[root@UncleZ ~]# date Thu Sep 1 08:30:44 CST 2016
查看今天是一年中的第幾天:
[root@UncleZ ~]# date "+%j" 245
Ⅴ、如何在Linux系統上獲取命令的幫助信息,請詳細列出,并描述man文檔的章節是如何劃分的。
Linux命令分為內部命令和外部命令。
內置命令:#help COMMAND 外部命令: (1)命令自帶簡要格式的使用幫助 #COMMAND --help #COMMAND -h (2)使用幫助手冊(manual) #man CHAPTER COMMAND (3)info COMMAND 獲取命令的在線文檔 (4)絕大多數程序都有相應的幫助文檔,并保存在/usr/share/doc文件夾中
Man 文檔的章節劃分: 手冊分為man1-man8。
man1:用戶命令; man2:系統調用; man3:C庫調用; man4:設備文件及特殊文件; man5:文件格式:(配置文件格式); man6:游戲使用幫助; man7:雜項; man8:管理工具及守護進行。 幫助手冊路徑:/usr/share/man 語法格式:#man COMMAND 注:1、并非每個COMMAND在所有章節下都有手冊。 2、可以通過whatis查看命令存在哪些章節。 3、whatis執行過程是查詢數據進行的, 但是如果有新命令需要手動更新數據庫:#makewhatis
man命令的常用操作按鍵:
按鍵 用處 空格鍵 向下翻一頁。 [Page Down] 向下翻一頁。 [Page Up] 向上翻一頁。 [HOME] 直接前往首頁。 [END] 直接前往尾頁。 /關鍵詞 從上至下搜索某個關鍵詞,如"/linux"。 ?關鍵詞 從下至上搜索某個關鍵詞,如"?linux"。 n 定位到下一個搜索到的關鍵詞。 N 定位到上一個搜索到的關鍵詞。 q 退出幫助文檔.
一般來講幫助文件都很長很多,如果你想翻看的話,就要理解幫助文檔的目錄結構與操作方法:
結構名稱 代表意義 NAME 命令的名稱 SYNOPSIS 參數的大致使用方法 DESCRIPTION 介紹說明 EXAMPLES 演示(附帶簡單說明) OVERVIEW 概述 DEFAULTS 默認的功能 OPTIONS 具體的可用選項(帶介紹) ENVIRONMENT 環境變量 FILES 用到的文件 SEE ALSO 相關的資料 HISTORY 維護歷史與聯系方式
Ⅵ、請羅列Linux發行版的基礎目錄名稱命名法則及功用規定。
FHS(Filesystem Hierarchy Standard)文件系統層次結構標準是根據無數開發者的經驗總結而來的,多數Linux版本采用這種文件組織形式,FHS定義了系統中每個區域的用途、所需要的最小構成的文件和目錄同時還給出了例外處理與矛盾處理,并且會維持更新。FHS根據文件系統使用的頻繁與否以及是否允許用戶隨意改動將目錄定義為4種交互式形態:
/bin 存放系統的命令 /boot 存放系統的啟動文件和內核 /dev 設備文件主目錄(設備文件具體的內容不再/dev,在/proc目錄下面) /etc 系統主要配置文件主目錄。 /home 普通用戶的家目錄 /lib&lib64 系統庫文件存放目錄(.dll庫文件) /media 可移動介質掛載點 /mnt 用戶掛在目錄 /opt 第三方應用程序文件存放目錄 /proc 系統主配置文件主目錄 /root 超級用戶的家目錄 /sbin 超級用戶使用的命令存放的目錄 /srv 常用語言各種非RedHat版本版的網絡適配器 /tmp 臨時文件存放目錄(系統啟動過程中會產生一些臨時文件,這些臨時文件就存放在/tmp目錄中,如果/tmp目錄空間沾滿了,系統就啟動不起來) /usr 系統的幫助文檔和源碼包安裝位置(源碼包不屬于RedHat屬于廣大的開發愛好者) /var 系統配置文件主目錄 /run 運行程序存放的目錄,當前于逆行目錄
原創文章,作者:N25-趙叔,如若轉載,請注明出處:http://www.www58058.com/62002
總結的很好,有例子有說明,加油