1、描述計算機的組成及其功能。
計算機由五大組件組成包括:計算器,控制器,存儲,輸入設備,輸出設備。
運算器:做運算,且只能做二進制運算,包括算術運算和邏輯運算,如加減乘除,移位,取模。運算器的核心是加法器。
控制器:控制整個計算機部件之間協調。比如做計算,運算器先從存儲器取數,運算器作運算,再回存存儲器。這整個過程都由控制器做協調。
其中,計算器與控制器組成CPU,即中央處理單元。
CPU由多組芯片(電路)構成,每個芯片都是由多個納米級晶體管(門電路)按特定邏輯組織在一起的。
每個芯片,功能不同,運算能力以及指令也不同。
CPU的功能實現通過指令進行,多個指令組成指令集。其物理實現即通過調用CPU針腳的功能進行。
針腳是為完成電氣/電子運算最基本,最基礎的功能。
存儲器:memory 編址存儲單元設備。8位一個單元(字節),英文為cell,也稱為存儲盒子。
內存:眾多字節聯合起來形成的總體存儲空間。內存中每個存儲單元都有名字,即地址。因此最多最大的地址,決定內存的最大的尋址空間。32位計算機總線尋址范圍是2的32次方范圍的內存,因此32位計算機最多尋址4G內存。數據存儲在內存中,可能占據一個存儲空間,也可能是一片連續的存儲空間。CPU讀取數據的方式可以是直接尋址(直接操作數),也可以是間接尋址(間接操作數)。因為存儲器與運算器的交互取決于較慢的那個,即內存的速度較慢影響了CPU的運算速度,為了協調二者的工作,緩存,接近CPU的速度的存儲出現了。
緩存:分為一級緩存,二級緩存,三級緩存,具有造價高,容量小的特點,加速CPU與內存交互,協調各個部件的工作,因部件的速率不同,最終提升計算機的性能。
硬盤:因內存是易失性存儲器,斷電后數據丟失,因此,為永久存儲數據,就需要硬盤。硬盤主要分為機械硬盤(磁盤)以及固態硬盤(SSD)。
輸入設備,輸出設備統稱IO設備,是計算機與外部交互的組件,其特點是性能較差,多機械式交互。如網卡,鍵盤,鼠標,顯示器,音響等。
2、按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別。
Linux的發行版主要包括slackware,debian和redhat系列。
slackware
suse(基于slackware的發行版)
Opensuse(基于suse的二次發行版 個人操作系統)
sles(基于suse的二次發行版 企業級操作系統)
debian
ubuntu(基于debian的發行版)
mint(基于ubuntu的二次發行版)
redhat
rhel:redhat enterprise linux 企業級系統,相對保守,每18個月發行一個新版本
fedora:個人版,用于測試新功能,每6個月發行一個新版本
CentOS:rhel的再編譯版本,兼容rhel的格式
Arch:Linux輕量級系統,程序包管理與眾不同
Gentoo:現編譯的Linux系統,原滋;原味
Android:Linux內核+busybox+java虛擬機
LFS:Linux From Scratch 自己從頭開發一個Linux發行版
3、描述Linux的哲學思想,并按照自己的理解對其進行解釋性闡述。
自由軟件:自由使用;自由學習和修改;自由分發;自由創建衍生版。
1、一切皆文件:把幾乎所有資源,包括硬件設備都組織為文件格式;
2、由眾多單一目的小程序組成:一個程序只實現一個功能,而且要做好。多個小程序組合完成復雜的任務;
3、盡量避免跟用戶交互。目標:實現腳本編程,以自動完成某些功能;
4、使用純文本文件保存配置信息。目標:一款使用的文本編輯器都能完成系統配置工作。
4、說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相應的示例來闡述。
命令格式:COMMAND [OPTION…] [ARGUMENT…]
選項:用于啟動或關閉命令的某個或某些功能,一般短選項由"-"引導,長選項由“–”引導。選項間用空格分開。
短選項:-c單個字符,例如-l,-h。多個短選項一起使用可合并,例如-l -h可寫作-lh
長選項:–word單詞,例如–long, –human-readable。長選項一般不能合并
參數:命令的作用對象,向命令提供數據。多個參數間用空格分隔。
注意:
1、多選項,以及多參數和命令之間都應該使用空白字符分隔;
2、取消命令執行:Ctrl+c。
ifconfig:configure a network interface 配置網口,查看網口信息。
ifconfig [interface]
ifconfig interface [aftype] options | address …
[root@localhost /]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:E3:76:C9 inet addr:192.168.9.103 Bcast:192.168.9.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fee3:76c9/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:14011 errors:0 dropped:0 overruns:0 frame:0 TX packets:7973 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:15773354 (15.0 MiB) TX bytes:595864 (581.8 KiB) 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:10 errors:0 dropped:0 overruns:0 frame:0 TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:578 (578.0 b) TX bytes:578 (578.0 b)
echo:回顯命令,shell內建命令
– display a line of text
– write arguments to standard output
echo [string …]
echo [SHORT-OPTION]… [STRING]…
echo LONG-OPTION
echo+變量名:取變量的值并回顯
單引號:強引用,真正顯示引號內容,即變量名;
雙引號:弱引用,變量替換,顯示變量名所指向空間所存儲的數據。
-n 禁止自動添加換行符,即回顯后不另起一行,默認回顯后添加換行符
-e 允許使用轉義符,即用于控制功能的某些符號,如\n 換行,\t 制表符。
[root@localhost /]# echo "$SHELL" /bin/bash [root@localhost /]# echo '$SHELL' $SHELL
tty:- print the file name of the terminal connected to standard input
顯示當前連接終端信息
tty [OPTION]…
物理終端:直接接入本機的顯示器和鍵盤設備等,路徑:/dev/console。設備啟動時使用物理終端。
虛擬終端:附加在物理終端之上的以軟件方式虛擬實現的終端。為保持unix特性,默認啟動多個虛擬終端。CenOS 6默認啟動6個虛擬終端,切換快捷鍵: Ctrl+Alt+F1->F6。默認啟動虛擬終端1(圖形終端登錄)
圖形終端:虛擬終端的一種,但額外提供桌面環境。
虛擬終端設備文件路徑:/dev/tty#(#表示數字)
模擬終端:圖形界面下打開的命令行接口,基于SSH協議或telnet協議等遠程打開的界面。以軟件方式實現,不會附加在物理終端之上,而是圖形終端或其他遠程終端之上。
模擬終端設備文件路徑:/dev/pts/#(#表示數字)
[root@localhost ~]# tty /dev/pts/0
startx: – initialize an X session
啟動XWindow圖形界面
GUI:圖形用戶界面,由X protocol(遠程顯示協議),window manager(窗口管理器),desktop(桌面系統)組成
常見桌面系統類型:GNOME(c,gtk),XFCE(嵌入式輕量級桌面環境),KDE(c++,qt)
export: Set export attribute for shell variables.設置,顯示環境變量
export [-fn] [name[=value] …] or export -p
-f refer to shell functions 關聯到shell方程
-n remove the export property from each NAME 根據名字刪除環境變量
-p display a list of all exported variables and functions 顯示環境變量列表
[root@localhost ~]# export -p declare -x G_BROKEN_FILENAMES="1" declare -x HISTCONTROL="ignoredups" declare -x HISTSIZE="1000" declare -x HOME="/root" declare -x HOSTNAME="localhost.localdomain" declare -x LANG="en_US.UTF-8" declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s" declare -x LOGNAME="root" declare -x MAIL="/var/spool/mail/root" declare -x OLDPWD declare -x PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin" declare -x PWD="/root" declare -x SELINUX_LEVEL_REQUESTED="" declare -x SELINUX_ROLE_REQUESTED="" declare -x SELINUX_USE_CURRENT_RANGE="" declare -x SHELL="/bin/bash" declare -x SHLVL="1" declare -x SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass" declare -x SSH_CLIENT="192.168.9.102 60130 22" declare -x SSH_CONNECTION="192.168.9.102 60130 192.168.9.103 22" declare -x SSH_TTY="/dev/pts/0" declare -x TERM="xterm" declare -x USER="root"
export NAME=VALUE 此設置臨時生效,長期生效需修改配置文件/etc/profile(全局),~/.bashrc,~/.bash_profile(針對某個用戶)
history:
管理命令歷史 Display or manipulate the history list.
history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg…]
Options:
-c clear the history list by deleting all of the entries清空命令歷史
-d offset delete the history entry at offset OFFSET.用編號刪除歷史中指定的命令
-a append history lines from this session to the history file 追加本次會話新執行的命令歷史列表到歷史文件中
原理:
登錄進shell后新執行的命令只會記錄在緩存中
登錄shell時,會讀取命令歷史文件(~/.bash_history)中記錄下的命令
這些新命令在用戶退出時會“追加”至命令歷史文件中
history的環境變量:
HISTSIZE:命令歷史記錄的條數
HISTFILE:每個用戶獨立的命令歷史文件,~/.bash_history位于用戶家目錄下
HISTFILESIZE:命令歷史文件記錄歷史記錄的條數
history #:顯示歷史中最近的#條命令
[root@localhost ~]# history 5 6 export -p 7 man history 8 type history 9 help history 10 history 5
快捷調用歷史中的命令:
!#:重復執行第#條命令
?。。褐貜蛨绦猩弦粭l命令
!string:執行最近一個以指定string開頭的命令
若不想運行的命令記錄到歷史中,可通過環境變量HISTCONTROL控制命令歷史的記錄方式。
環境變量HISTCONTROL取值
ignoredups:忽略重復的命令(連續且相同的命令方為“重復”),默認值
ignorespace:忽略以空白開頭的命令。
ignoreboth:以上兩種均生效(ignoredups,ignorespace)
shutdown: – bring the system down關機,重啟命令
shutdown [OPTION]… TIME [MESSAGE]
OPTION:
-r reboot重啟
-h halt關機
-c 取消關機cancel
TIME:
now立刻
+m分鐘,例如:+3,相對時間表示法,從命令提交開始多久之后執行命令
hh:mm: 絕對時間表示,指明具體時間
reboot 重啟計算機
poweroff關閉計算機
reboot, halt, poweroff – reboot or stop the system
-f ,–force 強制執行命令,不調用shutdown,類似冷重啟,不保存數據。一般shutdown會安全關機并保存數據,數據可還原。(一般不用-f)
-p 切斷電源
–verbose 顯示詳細信息
hwclock:- query and set the hardware clock (RTC) 查詢設置硬件時鐘
Linux的兩種時鐘
硬件時鐘:主板上紐扣電池為晶體振蕩器供電,實時時鐘,開機時讀取硬件時間并設定為當前系統時間
系統時鐘:由Linux內核通過CPU的工作頻率進行的計時。
hwclock命令顯示硬件時鐘,并實現硬件時鐘與系統時鐘同步
-s –hctosys 以硬件時鐘為準
-w –systohc 以系統時鐘為準
date 顯示系統時鐘,管理當前系統日期和時間
– print or set the system date and time
date [OPTION]… [+FORMAT]
date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]
MM:月份 DD:幾號 hh:小時 mm:分鐘 YY:兩位年份 CCYY:四位年份 .ss秒種
顯示今天為周幾:date +%a/date +%A
顯示今天的日期:date +%D/date +%F
獲取當前系統時間:date +%T/date +%H-%M-%S
date +%F-%H-%M-%S
設定系統時間:
[root@localhost ~]# date 070916132016.52 Sat Jul 9 16:13:52 PDT 2016 [root@localhost ~]# date Sat Jul 9 16:13:57 PDT 2016
5、如何在Linux系統上獲取命令的幫助信息,請詳細列出,并描述man文檔的章節是如何劃分的。
輸入type命令查看命令類型:內/外部命令
內部命令:shell自帶
內部命令幫助:help + COMMAND
外部命令:都有一個可執行程序,位于文件系統某目錄下,可通過which,whereis查看
shell程序搜尋外部命令可執行文件的路徑定義在PATH環境變量中
#echo $PATH 路徑優先級自左向右搜尋
hash:shell搜尋到的外部命令的路徑結果會緩存至kv(key-value)存儲中
外部命令幫助:
(1)#COMMAND –help,COMMAND -h
(2)使用手冊(manual)簡寫#man
(3)信息頁 #info COMMAND
(4)程序自身的幫助文檔,README,INSTALL,Changelog
通常在目錄/usr/share/doc/COMMAND-VERSION下
(5)程序官方文檔,官方站點的Documentation
(6)發行版的官方文檔
(7)Google
(8)www.slideshare.com
man到相應的章節下找到命令對應的壓縮文件,解壓后用less命令展示。
注意:
有些關鍵字在不止一個章節中存在幫助手冊
要查看指定章節中的手冊:man # COMMAND
man文檔的章節劃分:
man1:用戶命令
man2:系統調用
man3:C庫調用
man4:設備及特殊文件
man5:配置文件格式
man6:游戲相關
man7:雜項
man8:管理類的命令
man命令的配置文件:/etc/man.config
->MANPATH /PATH/TO/SOMEWHERE:通過文本指定新的手冊文件搜索位置
->man -M /PATH/TO/SOMEWHERE COMMAND:通過命令方式到指定位置下搜索COMMAND命令的手冊并顯示之。
man幫助手冊中常用段落說明:
NAME:程序的名字
SYNOPSIS:簡要使用幫助
[]:可選內容
<>:必選內容
a|b:二選一,多選一
…:同一個內容可出現多次
{}:成組,多選一
DESCRIPTION:詳細功能
OPTIONS:專用選項解釋
EXAMPLES:使用示例參考
AUTHOR:作者
REPORTING BUGS:報告BUG聯系方式和人
SEE ALSO:參考幫助
6、請羅列Linux發行版的基礎目錄名稱命名法則及功用規定
/boot:引導文件的存放目錄,存放操作系統啟動所依賴的文件,一般為一個獨立分區
/bin:供所有用戶使用的二進制命令,linux啟動會用到這些程序,不能關聯至獨立分區,OS啟動會用到的程序
/sbin:管理類的基本命令,不能關聯至獨立分區,OS啟動即會用到的程序
/lib:基本共享庫文件,以及內核模塊文件(/lib/modules)
/lib64:專用于x86_64系統上的輔助共享庫文件存放位置
/etc:配置文件目錄
/etc/opt:第三方軟件安裝文件配置文件目錄
/etc/X11:圖形界面XWindow系統的配置文件目錄
/etc/sgml:SGML配置文件目錄
/etc/xml:xml配置文件目錄
/home 用戶家目錄,分兩類用戶:管理員,普通用戶
/home/USERNAME:普通用戶家目錄
/root管理員家目錄
/media:便攜式移動設備掛載點,如U盤,光盤
/mnt:臨時文件系統掛載點
/dev:設備文件目錄
/opt:第三方應用程序安裝位置
/srv:系統上運行服務用到的數據存放目錄
/tmp:臨時文件存儲位置
/usr:獨立的層級文件系統,存放除/bin,/sbin下基本命令外,額外其他的應用程序以及諸多只讀資源和共享資源文件,通常會關聯到獨立分區。
usr:universal shareable read-only
/usr is the second major section of the filesystem,/usr is shareable,read-only data
/bin:保證系統擁有完整功能而提供的應用程序
/sbin:保證系統擁有完整功能而提供的管理類應用程序
/include:C程序的頭文件,庫文件的調用接口
/share:結構化獨立數據,如man,doc,系統背景圖片等
/X11R6:XWindow系統的文件
/games:游戲和教育類二進制文件
/lib
/lib64
/src 源代碼
/local 第三方應用程序的安裝位置,取代/opt,可關聯至完全獨立的分區
bin,sbin,lib,lib64,etc,share
/var 可變數據文件,通常會獨立分區
/cache:應用程序緩存數據目錄
/lib:應用程序狀態信息數據
/local:專用于為/usr/local下的應用程序存儲可變數據
/lock:鎖文件
/log:日志目錄及文件
/opt:專用于為/opt下的應用程序存儲可變數據
/run:運行中的進程相關的數據,通常用于存儲進程的pid文件
/spool:應用程序的池數據
/tmp:保存系統兩次重啟之間產生的臨時數據
/mail:郵件目錄
/proc:用于輸出內核與進程信息相關的虛擬文件系統
/sys:用于輸出當前系統上硬件設備相關信息的虛擬文件系統
/misc:雜項
/lost+found:ext文件系統默認格式化后產生的路徑,與系統沒關系
/selinux:security enhanced linux 安全加強的Linux,selinux相關安全策略信息存儲位置
Linux上應用程序的組成部分:
二進制程序:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin
庫文件:/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64
配置文件:/etc,/etc/Directory,/usr/local/etc
幫助文件:/usr/share/man,/usr/share/doc,/usr/local/share/man,/usr/local/share/doc
原創文章,作者:N21_走心哥,如若轉載,請注明出處:http://www.www58058.com/20555
寫的很好,排版還可以在漂亮一點,加油