第一周博客作業
一、計算機的組成及其功能
計算機的組成可分為硬件、軟件兩部分。
硬件部分:
按馮.諾伊曼提出的計算機體系,計算機可分為五個部分,分別是:控制器、運算器、存儲器、輸入設備、輸出設備。
CPU:由運算器及控制器組成。
控制器:發出決策指令,協調和指揮計算機各部件的工作。
運算器:對數據進行加工,主要進行算數運行、邏輯運算。
存儲器:分為內存儲器和外部存儲器。主要用來存儲程序和數據。
輸入設備:向計算機輸入指令或程序。
輸出設備:用于數據的輸出。
軟件部分:軟件部分分為Kernel和Application兩部分。
Kernel:管理計算機中的各硬件,為用戶提供接口。
Application:為特定用途而開發的特定程序或一系列緊密結合的程序的結合。主要為完成特定功能。
二、按系列羅列Linux的發行版,并描述不同發行版之間的聯系及區別。
1、Debian 是為數極少的純社區驅動的Linux發行版,而不是由商業公司或者政府機構所掌控。Debian采用了Linux Kernel,大部分基礎的操作系統工具都來自于GNU。包管理系統為dpkg。
Ubuntu 基于Debian發行版和unity桌面環境。與Debian軟件不一定完全兼容。和Debian采用相同的deb軟件包格式。
Knoppix 以DEBIAN為主干的可光盤啟動的Linux系統。X-window界面非常完善且實用,而且界面美化方面不辦理給Windows系統。
2、Slackware 由Patrick Volkerding開發的GNU/Linux發行版。與其他發行版不同的是,它堅持KISS(Keep It Simple Stupid)的原則。最大特點就是安裝靈活,目錄結構嚴謹,版本力求穩定而非追新。Slackware的軟件包都是通常的tgz(tar/gzip) 或者txz(xz) 格式文件再加上安裝腳本。
S.u.S.E 簡稱SuSE,Slackware為基礎.SuSE的Yast是以RPM為基礎的操作系統安裝與設置工具,也是SuSE Linux發行版的主要特性之一。
openSUSE openSUSE是一個一般用途的基于Linux內核的GNU/Linux操作系統,由openSUSE項目社區開發維護,由Novell公司資助的全球性社區計劃,旨在推進 Linux 的廣泛使用。它采用的KDE4.3作為默認桌面環境,同時也提供GNOME桌面版本。它的軟件包管理系統采用自主開發的YaST,頗受好評。他的用戶界面非常華麗,而且性能良好,但它是唯一一個沒有官方打包的 ffmpeg,mplayer的發行版。
3、Redhat RedHat Linux是最成熟的一種Linux發行版,軟件包管理使用的Red Hat軟件庫,Red Hat提供了軟件包的安裝源。
Fedora 基于Red Hat Linux,由Fedora Project社區開發、紅帽公司贊助,目標是創建一套新穎、多功能并且自由和開源的操作系統。對贊助者Red Hat公司而言,它是許多新技術的測試平臺,被認為可用的技術最終會加入到Red Hat Enterprise Linux中。
Red Hat Enterprise Linux Red Hat公司發布的面向企業用戶的Linux操作系統。
Centos 來自于Red Hat Enterprise Linux依照開放源代碼規定釋出的源代碼所編譯而成,而且在RHEL的基礎上修正了不少已知的 Bug。
三、描述Linux的哲學思想,并按照自己的理解對其進行解釋性描述。
1、一切皆文件:方便操作人員通過通用的方法對計算機軟硬件進行訪問和操作。
2、由眾多功能單一的小程序組成:小程序各司其職,做好分內的事,其他一概不管。
3、盡量避免與用戶交互:方便實現自動化、通過直白的方式顯示內容,而不是用可令人困惑的圖形界面。
4、使用文本文件保存配置信息:方便讀寫配置信息
四、說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相應的示例來闡述。
Linux系統上命令的使用格式
Command options arguments
COMMAND 發起命令
OPTIONS 命令運行特性
AGRUMENTS 命令作用對象
Ifconfig :configure a network interface 配置網絡接口
SYNOPSIS:
ifconfig [-v] [-a] [-s] [interface]
ifconfig [-v] interface [aftype] options | address …
~]# ifconfig %獲取當前網絡配置信息%
~]# ifconfig eno16777736 %獲取指定網卡網絡配置信息%
~]#ifconfig eno16777736 192.168.0.188 netmask 255.255.255.0 %更改指定網卡配置信息%
~]#ifconfig eno16777736 hw ether xx:xx:xx:xx:xx:xx %配置網卡物理地址%
~]#ifconfig eno16777736 down %禁用網卡%
~]#ifconfig eno16777736 up %啟用網卡%
echo display a line of text 回顯命令
SYNOPSIS
echo [SHORT-OPTION]… [STRING]…
echoLONG-OPTION
-n do not output the trailing newline 輸出信息后不換行。
-e enable interpretation of backslash escapes 使轉義符生效
echo string可加引號
單引號:強引用,直接引用變量不替換。
雙引號:弱引用,引用變量并解析。
echo 用于在shell中打印shell變量的值
tty print the file name of the terminal connected to standard input
輸出終端名稱
startx 啟動X-window圖形化界面
export set the export attribute for variables 設置或顯示環境變量
pwd print name of current/working directory 顯示當前工作路徑
history display or manipulate the history list 顯示或操作命令列表
歷史文件夾位置:~/.bash_history
history可通過環境變量定制。
HISTSIZE: shell可保存的命令歷史文件
HISTFILESIZE:持久保存命令歷史的文件
SYNOPSIS
~]# history [n]
~]# history [-c]
~]# history [-raw] histfiles
Options:
n :數字,列出最近的 n 條命令列表
-c :clear the history list by deleting all of the entries 將目前的shell中的所有 history 內容全部消除
-d offset delete the history entry at offset OFFSET 刪除指定條數的命令指令
-a append history lines from this session to the history file 把歷史命令從內存中添加到文件中
-r :read the history file and append the contents to the history list 從文件讀取命令歷史到內存中的歷史列表中 從文件到內存
-w :write the current history to the history file 把歷史列表中的命令寫入到歷史文件中 從內存到文件
調用命令歷史中的命令:
!# 再一次執行命令歷史中的第#條命令。
~]#!20
??! 再一次執行上一次命令。
~]#!!
!STRING 再一次執行命令歷史列表中最近一個以STRING開頭的命令。
ESC, . Alt+. !$ 調用上一條命令的最后一個參數
通過環境變量HISTCONTROL控制命令歷史記錄的方式
~]#export HISTCONTROL=ignoredups %忽略重復的命令%
~]#export HISTCONTROL=ignorespace %忽略以空格開頭的命令%
~]#export HISTCONTROL=ignorboth %忽略以上兩者%
shutdown Halt , power-off or reboot the machine 關機或重啟電腦
用法 shutdown [options….] [time] [wall…]
選項 -P poweroff Power-off the machion (the default)
調用init 0 ,init 0 會cleanup一些工作然后調用halt或poweroff。
-r reboot Reboot the machine 重啟電腦
-h halt 相當于直接關電源
-c cacel 取消關機 也可用Ctrl+C代替
-k do not halt , power-off , reboot , just write wall message 不執行關機重啟操作,只發出關機重啟的信息
–no-wall Do not send wall message before halt , power-off ,reboot 執行關機或重啟命令但是不發出信息
TIME: now
~]#shutdown now %馬上關機%
Hh:mm
~]#shutdown 12:15 %12:15關機%
+m
~]#shutdown +1 %1分鐘后關機%
poweroff 命令用來關閉計算機操作系統并且切斷系統電源
-P –poweroff power-off the machine,regardless of which one of the three commands is invoked. 直接關機,不理會別人的請求。
–reboot reboot the machine , regardless of which one of the three commands is invoked . 直接重啟,不理會別人的請求。
-f –force Force immediate halt ,power-off , reboot .Do not contact the init system 不初始化系統,直接強制關閉或者重啟系統。
-w –wtmp-only only write wtmp shutdown entry , do not actually halt power-off , reboot. 在日志中寫入記錄,但是不執行關機重啟操作。
-d –no-wtmp Do not write wtmp shutdown entry 關機但是不寫入日志中
– -no-wall Dont send wall message before halt , power-off ,reboot. 不向其它終端發送信息,直接關機或重啟
reboot 關機或重啟命令 命令使用方法及格式同poweroff
hwclock query or set the hard ware clock (RTC) 查詢或修改硬件時鐘
SYNOPSIS hwclock [function] [option….]
OPTIONS
-s –hctosys
Set the System Time from the Hardware Clock
把系統時間設置成和硬件時鐘時間一樣。
-w –systohc
Set the Hardware Clock to the current system Time
把硬件時鐘時間設置成和系統時間一樣。
date print or set the system date and time 輸出或設置時間
SYNOPSIS date [OPTION]… [+FORMAT]
date [-u|–utc|–unviersal] [MMDDhhmm[[CC]YY] [.SS]]
OPTIONS
-d –date=STRING display time described by STRING,not “now”
顯示字符串描述的時間
-u 顯示或設定為Coordinated Universal Time時間格式
-R 以RFC-2822兼容日期格式顯示時間
-r –reference=FILE display the last modification time of FILE
顯示文件的最后修改時間
-s –set=SIRING set time described by STRING 設置時間
FORMAT格式
%% 一個文字的 %
%a 當前locale 的星期名縮寫(例如: 日,代表星期日)
%A 當前locale 的星期名全稱 (如:星期日)
%b 當前locale 的月名縮寫 (如:一,代表一月)
%B 當前locale 的月名全稱 (如:一月)
%c 當前locale 的日期和時間 (如:2005年3月3日 星期四 23:05:25)
%C 世紀;比如 %Y,通常為省略當前年份的后兩位數字(例如:20)
%d 按月計的日期(例如:01)
%D 按月計的日期;等于%m/%d/%y
%e 按月計的日期,添加空格,等于%_d
%F 完整日期格式,等價于 %Y-%m-%d
%g ISO-8601 格式年份的最后兩位 (參見%G)
%G ISO-8601 格式年份 (參見%V),一般只和 %V 結合使用
%h 等于%b
%H 小時(00-23)
%I 小時(00-12)
%c 按年計的日期(001-366)
%k 時(0-23)
%l 時(1-12)
%m 月份(01-12)
%M 分(00-59)
%n 換行
%N 納秒(000000000-999999999)
%p 當前locale 下的“上午“或者“下午“,未知時輸出為空
%P 與%p 類似,但是輸出小寫字母
%r 當前locale 下的 12 小時時鐘時間 (如:11:11:04 下午)
%R 24 小時時間的時和分,等價于 %H:%M
%s 自UTC 時間 1970-01-01 00:00:00 以來所經過的秒數
%S 秒(00-60)
%t 輸出制表符 Tab
%T 時間,等于%H:%M:%S
%u 星期,1 代表星期一
%U 一年中的第幾周,以周日為每星期第一天(00-53)
%V ISO-8601 格式規范下的一年中第幾周,以周一為每星期第一天(01-53)
%w 一星期中的第幾日(0-6),0 代表周一
%W 一年中的第幾周,以周一為每星期第一天(00-53)
%x 當前locale 下的日期描述 (如:12/31/99)
%X 當前locale 下的時間描述 (如:23:13:48)
%Y 年份
五、如何在Linux系統上獲取命令的幫助信息,請詳細列出,并描述man文檔的章節是如何劃分的。
首先用type命令查看命令屬于內部命令還是外部命令
~]# type COMMAND
內部命令
輸出為:type is a shell builtin ,表明是shell內部命令,用help COMMAND查看命令幫助。~]#help COMMAND
外部命令
1.命令自帶簡要格式使用幫助
~]# COMMAND –help
2.使用手冊 mannal
~]# man COMMAND
man文檔可分為幾個部分:NAME、SYNOPSIS 簡要功能說明、DESCPIPTION 描述、OPTIONS選項、EXAMPLES 使用示例、AUTHOR作者、BUGS 報告程序BUG方式、SEE ALSO 參考
語法格式說明:
[] :表示可選、<> :必給內容、a|b:多選一或二選一、…:同類內容可出現多個
使用手冊是壓縮格式的文件,有章節之分,存儲位置為/usr/share/man
man1:用戶命令,普通用戶和管理員都可以使用。
man2:系統調用
man3:C庫調用
man4:設備文件及特殊文件
man5:文件格式(配置文件格式)
man6:游戲使用幫助
man7:雜項
man8:管理工具及守護進程
查看指定章節man文件
~]# man # COMMAND
注意:并非每個COMMAND在所有章節下都有手冊,查看命令在哪些章節下有手冊用以下命令
~]# whatis COMMAND
whatis執行過程是查詢數據庫得到,如新裝軟件查詢不到應用手冊,需要手動更新數據庫
~]# make whatis
3.Info COMMAND
4.應用程序自帶的幫助文檔
位置:/usr/share/doc/APP-VERSION
Readme : 程序相關信息
Install :安裝幫助
Chages :程序迭代時改動信息
5.主流發行版官方文檔
6.程序官方文檔
7.搜索引擎
六、請羅列Linux發行版的基礎目錄名稱命名法則及其功用規定。
各Linux發行版遵行FHS(Filesystem hierarchy standard)
/bin Essential user command binaries (for use bu all users) 供所有用戶使用的基本命令程序文件
/sbin system binaries 供系統管理使用的工具程序
/boot static files of the boot loader 引導加載器必須到的各靜態文件,包括kernel、initramfs(initrd)、grub等
/dev Device files 設備(字符設備及塊設備)文件、特殊文件
/etc Host-specific system configuration 主機特有的系統程序的靜態配置文件(文本文件)
Opt configuration for /opt
Xll configuration for the X Window system (optional)
Sgml configuration for SGML(optional)
Xlm configuration for XML(optional)
/home User home directiories (optional) 普通用戶家目錄的集中位置
如:/home/USERNAME
/lib Essential shared libraries and kernel modules 基礎共享庫和內核模塊
/lib<qual> 為系統啟動或根文件系統上的應用程序(/bin /sbin等)提供共享庫以及為內核提供內核模塊
Libc.so.* 動態鏈接的C庫
Ld* 運行時鏈接器/加載器
modules 用于存儲內核模塊的目錄
/lib64 64位系統特有的存放64位共享庫的路徑
/media Mount point for removeable media 便攜式設備掛載點,cdrom、floppy等
/mnt 其它文件系統的臨時掛載點
/opt Add-on application software packages(optional) 附加程序的安裝位置,可選
/root Home directory for the root user (optional) 管理員的家目錄,可選
/SRV Data for services provided by this system 主機特有的當前主機為服務提供的數據
/tmp Temprary files 臨時文件目錄 為會產臨時文件的用戶提供的存儲臨時文件的目錄,可為所有用戶執行寫入操作,有特殊權限。
/usr Hierarchy 全局共享的只讀數據路徑包含:
bin :保證系統擁有完整功能而提供的應用程序
sbin
lib
lib64
Include :C程序頭文件
share :命令手冊頁,命令文檔等架構特有的文件的存儲位置,如doc, man 等
local : 第三方應用程序的安裝位置,內含:bin , sbin , lib , lib64 , etc , share
Src : 程序源碼文件存儲位置
/var Hierarchy 存儲經常發生變化的數據的目錄
cache: Application cache date 應用程序緩存數據目錄
lib: Variable state information 應用程序狀態信息數據
local: Variable date for /usr/local 專用于為/usr/local 下的應用程序存儲可變數據
lock: Lock files 鎖文件
log: log files and directories 日志目錄及文件
opt: Variable date for /opt 專用于為/opt 下的應用程序存儲可變數據
run: Date relevant to runing processes 運行中的進程相關的數據,通常用于存儲進程的PID文件
spool: Application spool data 應用程序的數據池
tmp: temporary files preserved between system reboots 保存系統兩次生詞之間產生的臨時文件
/pro kernel and process information virtual filesystem 保存內核和進程信息的虛擬文件系統,基于內存的虛擬文件系統,也叫偽文件系統。例如net.ipv4.ip_forward, 虛擬為net/ipv4/ip_forward, 存儲于/proc/sys/, 因此其完整路徑為/proc/sys/net/ipv4/ip_forward
/sys 用于輸出當前系統上硬件設備相關信息的虛擬文件系統,內核中與硬件設備相關的信息映射。
/selinux selinux相關的安全策略等信息的存儲位置
原創文章,作者:lixinkuan,如若轉載,請注明出處:http://www.www58058.com/69185
完成的很好,很用心的在做,排版需要注意一下,可以嘗試使用表格總結命令選項,加油!