一、描述計算機的組成及其功能。linux
計算機是由控制器、運算器、存儲器、輸入設備和輸出設備五部分組成。shell
1)控制器:控制器是整個計算機系統的控制中心,它指揮計算機各部分協調地工做,保證計算機按照預先規定的目標和步驟有條不紊地進行操做及處理。小程序
2)運算器:運算器的主要功能是對數據進行各類運算。這些運算除了常規的加、減、乘、除等基本的算術運算以外,還包括能進行「邏輯判斷」的邏輯處理能力,即「與」、「或」、「非」這樣的基本邏輯運算以及數據的比較、移位等操做。一般把控制器與運算器合稱爲中央處理器(Central Processing Unit-CPU)centos
3)存儲器:存儲器分爲只讀存儲器(ROM)和隨機讀寫存儲器(RAM)。只讀存儲器只能讀取數據,不能寫入數據(如,內存);隨機讀寫存儲器能讀寫數據(如,磁盤、U盤)。緩存
4)輸入設備:用來向計算機輸入各類原始數據和程序的設備叫輸入設備安全
5)輸出設備:從計算機輸出各種數據的設備叫作輸出設備bash
二、按系列羅列Linux的發行版,並描述不一樣發行版之間的聯繫與區別。服務器
1)Slackware:網絡
最先古老的Linux發行版,主要用於桌面、工做站、服務器,採用的默認桌面是KEDide
2)SUSE Linux:
基於Slackware二次開發的一款Linux,主要用於商業桌面、服務器。流行於歐洲,中途經屢次收購發現較爲緩慢。
3)OPENSUSE:
由suse發展而來,被同一家公司收購,主要用於桌面環境,界面較爲酷炫,免費。
4)debian:
互聯網自發組織,最接近原滋原味的Linux,使用於任何環境,因爲系統穩定,多用於服務器
5)Ubuntu:
Ubuntu是基於Debian發行版和GNOME桌面環境,每六個月發行一次新的版本。用於桌面壞境
6)redhat:
早起版本主要用於桌面環境,免費。自從Red Hat 9.0版本發佈後,Red Hat公司就再也不開發桌面版的Linux發行包,04年後對Red Hat 9.0不提供技術支持,後專作服務器操做系統Red Hat Enterprise Linux,每十八個月發行一個新版本,內核相對較低。力求穩定,不求最新。
三、描述Linux的哲學思想,並按照本身的理解對其進行解釋性描述。
1)一切皆文件,把幾乎全部資源,包括硬件設備都組織爲文件格式
2)由衆多單一的小程序組成,一個程序只實現一個功能,組合小程序完成複雜任務
3)儘可能避免跟用戶交互:
4)使用純文本文件保存配置信息
四、說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,並配合相應的示例來闡述。
1)ifconfig:顯示或配置網絡設備
用法:ifconfig [-v] [-a] [-s] [interface] --查看網路設備信息
實例
[jun_shao@localhost ~]$ ifconfig //查看全部網絡設備信息 [jun_shao@localhost ~]$ ifconfig -a //同上 [jun_shao@localhost ~]$ ifconfig wlp3s0 //查看指定網絡設備的詳細信息 wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.102 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::82a5:89ff:fe58:e60f prefixlen 64 scopeid 0x20<link> ether 80:a5:89:58:e6:0f txqueuelen 1000 (Ethernet) RX packets 1445 bytes 270800 (264.4 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 680 bytes 103589 (101.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2)echo:回顯請求
用法:echo: echo [-neE] [參數 ...]
實例
[jun_shao@localhost ~]$ echo $SHELL //請求顯示當前使用的shell程序,$SHELL環境變量 /bin/bash [jun_shao@localhost ~]$ echo "$SHELL" //雙引號爲強引用,直接輸出$SHELL環境變量的值 /bin/bash [jun_shao@localhost ~]$ echo -e '$SHELL' //單引號爲弱引用,不引用變量的值,直接輸出字符串;-e:啓動轉移字符,如\n 換行 $SHELL
3)tty:查看當前終端設備的文件名
終端:用戶與主機交互必須用到的設備
終端的分類:
物理終端:直接介入本機的顯示器和鍵盤:console
虛擬終端:附加在物理終端之上的以軟件方式虛擬實現的終端,centos 6 默認啓動6個虛擬終端Ctrl+Alt+FN:[1 6]
圖形終端:附加在物理終端之上的以軟件方式虛擬實現的終端,但額外會提供桌面環境,設備文件路徑:/dev/tty#
模擬終端:圖形界面下打開的命令行接口,基於SSH協議或telnet洗衣等遠程打開的界面,設備文件:/dev/pts/# [0 oo)
用法:tty [選項]...
[jun_shao@localhost ~]$ tty //使用的模擬終端 /dev/pts/2
4)startx:顯示圖形終端
5)export:設置或顯示環境變量。
實例
[root@localhost jun_shao]# export HISTCONTROL=ignorespace
6)pwd:顯示當前工做目錄的名字
實例
[jun_shao@localhost ~]$ pwd /home/jun_shao
7)history:管理歷史命令,全部命令歷史都存在緩存中
a.登陸進shell後新執行的命令只會記錄在緩存中
b.登陸shell時,會讀取命令歷史文件記錄下來
用法:history: history [-c] [-d 偏移量] [n]
[jun_shao@localhost ~]$ history //顯示歷史命令包括緩存中的命令 [jun_shao@localhost ~]$ history -c //清空歷史命令 [jun_shao@localhost ~]$ history -d 111 //刪除偏移量爲111的歷史命令 [jun_shao@localhost ~]$ history -a //將緩存中的歷史命令手動添加到歷史命令文件.bash_history 中
調用管理歷史命令中命令的方式:
!#:重複執行第#條指令
!!:執行上一條命令
!string 調用最近以string開頭的命令
!$:調用上一條命令的最後一個參數
ESC,.:調用上一條命令的最後一個參數
實例
[jun_shao@localhost ~]$ !245 //重複執行管理歷史命令中的第245條的命令 ls vmware 公共 模板 視頻 圖片 文檔 下載 音樂 桌面 [jun_shao@localhost ~]$ !! //重複執行上一條命令 ls /usr/ bin etc games include lib lib64 libexec local sbin share src tmp [jun_shao@localhost ~]$ !l //調用最近以l開頭的命令 ls /usr/ bin etc games include lib lib64 libexec local sbin share src tmp [jun_shao@localhost ~]$ ls !$ //調用上一條命令的最後一個參數 ls /etc/fstab /etc/fstab
環境變量:
HISTSIZE:命令歷史記錄的條數
HISTFILE:顯示當前用戶管理歷史文件的路徑~/.bash_history
HISTFILESIZE:命令歷史文件記錄歷史的條數
實例
[root@localhost jun_shao]# echo $HISTFILE /root/.bash_history
控制命令歷史的記錄方式
環境變量:HISTCONTROL
ignoredups:忽略連續且重複的命令,系統默認
ignorespace:忽略全部以空白開頭的命令
ignoreboth:上述兩個同時生效
實例
[root@localhost jun_shao]# echo $HISTCONTROL //查看當前shell使用那種方式記錄歷史命令 ignoredups [root@localhost jun_shao]# export HISTCONTROL=ignorespace //更改shell記錄歷史記錄的使用方式,只對當前shell有效 [root@localhost jun_shao]# echo $HISTCONTROL ignorespace
8)shutdown:關閉和重啓系統命令
用法:shutdown [OPTIONS...] [TIME] [WALL...]
實例
[root@localhost jun_shao]# shutdown -r 10 //十分鐘後重啓系統 [root@localhost jun_shao]# shutdown -h 10 //十分後關閉系統 [root@localhost jun_shao]# shutdown -c //取消重啓和關閉系統
9)poweroff:關機命令
10)reboot:重啓命令
11)hwclock:顯示計算機的硬件時鐘
用法:hwclock [功能] [選項...]
實例
[root@localhost jun_shao]# hwclock //顯示硬件時鐘 [root@localhost jun_shao]# hwclock -s //從硬件時鐘設置系統時間 [root@localhost jun_shao]# hwclock -w // 從當前系統時間設置硬件時鐘
12)date:查看或設置系統時間
用法:date [選項]... [+格式]
或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
實例
[root@localhost jun_shao]# date //顯示系統 [root@localhost jun_shao]# date +%F //完整日期格式,等價於 %Y-%m-%d [root@localhost jun_shao]# date 0820222216.23 //設置系統時間 2016年 08月 20日 星期六 22:22:23 CST
五、如何在Linux系統上獲取命令的幫助信息,請詳細列出,並描述man文檔的章節是如何劃分的。
Linux系統命令:
內部命令:是指寫在bash裏面,其執行速度高,由於解析命令不須要Shell建立子進程
外部命令:都有一個可執行文件,位於文件系統某個目錄下
實例
[jun_shao@localhost ~]$ which ls //經過which查看ls程序存放在那個目錄下 alias ls='ls --color=auto' //alias,別名,說明執行ls等於執行了ls --color=auto /usr/bin/ls [jun_shao@localhost ~]$ whereis ls //經過whereis命令查找ls的可執行文件、源代碼文件、幫助文件在文件系統中的位置 ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
內部命令獲取幫助的方式:
1)# COMMAND -h 或 # COMMAND --help
2)使用手冊:# man COMMAND
3)信息頁 :# info COMMAND
4)程序自身的幫助文檔 README、INSTALL、ChangeLog
5)程序的官方文檔
6)發行版的官方文檔
7)google
實例
[jun_shao@localhost ~]$ cd -h -bash: cd: -h: 無效選項 cd: 用法:cd [-L|[-P [-e]]] [dir]
外部命令獲取幫助信息的方式:
1)COMMAND --help
2)man COMMAND
手冊頁: /usr/share/man
man1 ... man8
man1:用戶命令
man2:系統調用
man3:C庫調用
man4:設備文件及特殊文件
man5:配置文件格式
man6:遊戲
man7:雜項
man8:管理類的命令(磁盤分區)
注意:有些關鍵在不止一個章節中存在幫助手冊:
要查指定章節中的手冊:man [1...8] command
man命令的配置文件:/etc/man.config
MANPATH /PATH/TO/SOMEWHERE:指明新的手冊文件搜索位置
# man -M /PATH/TO/SOMEWHERE COMMAND:到指定位置下搜索COMMAND命令的手冊頁並顯示
六、請羅列Linux發行版的基礎目錄名稱命名法則及功用規定
/boot:引導文件的存放目錄,內核文件(vmlinuz)、引導加載器(bootloader,grub)都放在此目錄 /bin:供說有用戶使用的基本命令,不能關聯至獨立分區,os啓動即會用到的程序 /sbin:管理類的基本命令,不能關聯至獨立分區,os啓動即會用到的程序 /lib:基本共享庫文件,以及內核模塊文件(/lib/modules) /lib64:專用於X86_64系統上的輔助共享庫文件存放位置 /etc:配置文件目錄(純文本文件) /etc/opt /etc/X11 /home/UserName:普通用戶家目錄 /root:管理員家目錄 /media: 便攜式移動設備掛載點 /mnt:臨時文件系統的掛載點 /dev:設備文件和特殊文件的存放點 b:block device 隨機訪問 c:character device 線性訪問 /opt:第三方應用程序安裝點 /srv:系統上運行的服務用到的數據 /tmp:臨時文件 /user:universal shared,read-only bin:供全部用戶使用的,保證系統擁有完整功能而提供的應用程序 sbin: lib: lib64: include:C程序的頭文件 share:結構化獨立的數據,如doc,man等 local:第三方應用程序的安裝位置 /var:variable data file 可變數據存放點 cache:應用程序緩存數據目錄 lib:應用程序狀態數據 local:專用於爲/usr/local下的程序存儲可變數據 lock:鎖文件 log:日誌目錄及文件 /opt:專用於爲/opt下的程序存儲可變數據 run:運行中的進程相關的數據,一般用於存儲進程的pid文件 spool:應用程序數據池 tmp:保存系統兩次重啓之間產生的臨時數據 /proc:用於輸出內核於進程信息相關的虛擬文件系統 /sys:輸出當前系統上硬件設備相關信息的虛擬文件系統 /selinux:security enhanced linux,selinux相關的安全策略等信息的存儲位置