在開始正式學習Linux以前,咱們首先要了解Linux是什麼,是怎麼來的,以及瞭解它的一些基本命令,下面我將從6個點說說我對Linux的基本認識。java
一、 描述計算機的組成及其功能。
計算機由四個部分組成,分別是CPU、存儲器、輸入設備、輸出設備。
CPU:運算器、控制器、寄存器、緩存,提供邏輯計算和控制。
存儲器:內存,RAM,緩存和保存數據。
輸入設備:下指令,提供數據。
輸出設備:輸出數據加工的結果linux
二、 按系列羅列Linux的發行版,並描述不一樣發行版之間的聯繫與區別。
Linux的發行版有數百種之多,其中能夠分爲:
Debain :Ubuntu,mint,knoppix
Slackware :S.U.S.E,SLES,OpenSUSE,Slax,
Redhat : RHCL:redhat enterprise Linux
他們都是每18個月發行一個新版本
Centos:兼容RHCL的格式
中標麒麟:中標軟件
Fedora : 每6個月發行一個新版本
ArchLinux: 輕量簡潔
Gentoo : 極致性能,不提供傳統意義的安裝程序
LFS :Linux from scrath 自制Linux
Android: kernel+busybox(工具集)+java虛擬機shell
三、 描述Linux的哲學思想,並按照本身的理解對其進行解釋性描述。
1、 一切都是一個文件(包括硬件):一切皆文件,在Linux系統中它會把幾乎全部的資源通通抽象成文件形式,固然也會包括硬件設備甚至通訊接口等等。
2、 小型,單一用途的程序:小型單一,一個程序只作一件事,並把它作好。
3、 連接程序,共同完成複雜的任務:由衆多的功能單一的小程序連接在一塊兒,組合起來完成複雜的任務。
4、 避免使人困惑的用戶界面:區別於windows操做系統用戶界面的不穩定性,linux中儘可能避免跟用戶交互,系統從而穩定與快速,以編程的方式實現自動化任務。
5、 配置數據存儲在文本中:linux系統都是使用文本文件的方式來保存配置信息。編程
四、 說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,並配合相應的示例來闡述。
命令的語法通用格式:
#COMMAND OPTIONS ARGUMENTS
Ifconfig:配置和顯示網絡接口的網絡參數小程序
Echo: 用於在shell中打印shell變量的值,或者直接輸出指定的字符串
語法
echo(選項)(參數)
選項
-e:激活轉義字符。
使用-e選項時,若字符串中出現如下字符,則特別加以處理,而不會將它當成通常文字輸出:windows
\a 發出警告聲;
\b 刪除前一個字符;
\c 最後不加上換行符號;
\f 換行但光標仍舊停留在原來的位置;
\n 換行且光標移至行首;
\r 光標移至行首,但不換行;
\t 插入tab;
\v 與\f相同;
\ 插入\字符;
\nnn 插入nnn(八進制)所表明的ASCII字符;
參數
變量:指定要打印的變量。緩存
實例
用echo命令打印帶有色彩的文字:服務器
文字色:網絡
tty命令:顯示終端機鏈接標準輸入設備的文件名稱
語法:
tty [-s][--help][--version]
參數:架構
startx命令用來啓動X Window,實際上啓動X Window的程序爲xinit。
語法
startx(參數)
參數
客戶端及選項:X客戶端及選項;
服務器及選項:X服務器及選項。
實例:
要在工做站上或 X 終端上啓動 X 會話,請輸入:startx
Export: 用於將shell變量輸出爲環境變量,或者將shell函數輸出爲環境變量
語法
export(選項)(參數)
選項
-f:表明[變量名稱]中爲函數名稱;
-n:刪除指定的變量。變量實際上並未刪除,只是不會輸出到後續指令的執行環境中;
-p:列出全部的shell賦予程序的環境變量。
參數
變量:指定要輸出或者刪除的環境變量。
實例
查看已經存在的環境變量
Pwd: 以絕對路徑的方式顯示用戶當前工做目錄
語法
pwd(選項)
選項
--help:顯示幫助信息;
--version:顯示版本信息。
實例
History: 用於顯示指定數目的指令命令,讀取歷史命令文件中的目錄到歷史命令緩衝區和將歷史命令緩衝區中的目錄寫入命令文件
語法
history(選項)(參數)
選項
-c:清空當前歷史命令;
-a:將歷史命令緩衝區中命令寫入歷史命令文件中;
-r:將歷史命令文件中的命令讀入當前歷史命令緩衝區;
-w:將當前歷史命令緩衝區命令寫入歷史命令文件中。
參數
n:打印最近的n條歷史命令。
實例
使用history命令顯示最近使用的10條歷史命令,輸入以下命令:
Shutdown: 系統關機命令
語法
shutdown(選項)(參數)
選項
-c:當執行「shutdown -h 11:50」指令時,只要按+鍵就能夠中斷關機的指令;
-f:從新啓動時不執行fsck;
-F:從新啓動時執行fsck;
-h:將系統關機;
-k:只是送出信息給全部用戶,但不會實際關機;
-n:不調用init程序進行關機,而由shutdown本身進行;
-r:shutdown以後從新啓動;
-t<秒數>:送出警告信息和刪除信息之間要延遲多少秒。
參數
[時間]:設置多久時間後執行shutdown指令;
[警告信息]:要傳送給全部登入用戶的信息。
實例
指定如今當即關機: #shutdown –h now
指定2分鐘後關機,同時給出提示信息
Poweroff: 用來關閉計算機操做系統而且切斷系統電源
語法
poweroff(選項)
選項
-n:關閉操做系統時不執行sync操做;
-w:不真正關閉操做系統,僅在日誌文件「/var/log/wtmp」中;
-d:關閉操做系統時,不將操做寫入日誌文件「/var/log/wtmp」中添加相應的記錄;
-f:強制關閉操做系統;
-i:關閉操做系統以前關閉全部的網絡接口;
-h:關閉操做系統以前將系統中全部的硬件設置爲備用模式。
實例
若是確認系統中已經沒有用戶存在且全部數據都已保存,須要當即關閉系統,可使用poweroff命令。
使用poweroff當即關閉系統: #poweroff
Reboot: 從新啓動正在運行的Linux操做系統
語法
reboot(選項)
選項
-d:從新開機時不把數據寫入記錄文件/var/tmp/wtmp。本參數具備「-n」參數效果;
-f:強制從新開機,不調用shutdown指令的功能;
-i:在重開機以前,先關閉全部網絡界面;
-n:重開機以前不檢查是否有未結束的程序;
-w:僅作測試,並不真正將系統從新開機,只會把重開機的數據寫入/var/log目錄下的wtmp記錄文件。
實例
reboot //重開機。
reboot -w //作個重開機的模擬(只有紀錄並不會真的重開機)。
Hwclock: 是一個硬件時鐘訪問工具,它能夠顯示當前時間、設置硬件時鐘的時間和設置硬件時鐘爲系統時間,也可設置系統時間爲硬件時鐘的時間。
語法
hwclock(選項)
選項
--adjust:hwclock每次更改硬件時鐘時,都會記錄在/etc/adjtime文件中。使用--adjust參數,可以使hwclock根據先前的記錄來估算硬件時鐘的誤差,並用來校訂目前的硬件時鐘;
--debug:顯示hwclock執行時詳細的信息;
--directisa:hwclock預設從/dev/rtc設備來存取硬件時鐘。若沒法存取時,可用此參數直接以I/O指令來存取硬件時鐘;
--hctosys:將系統時鐘調整爲與目前的硬件時鐘一致;
--set --date=<日期與時間>:設定硬件時鐘;
--show:顯示硬件時鐘的時間與日期;
--systohc:將硬件時鐘調整爲與目前的系統時鐘一致;
--test:僅測試程序,而不會實際更改硬件時鐘;
--utc:若要使用格林威治時間,請加入此參數,hwclock會執行轉換的工做;
--version:顯示版本信息。
實例
查看當前的硬件日期和時間
Date: 顯示或設置系統時間與日期
語法
date(選項)(參數)
選項
-d<字符串>:顯示字符串所指的日期與時間。字符串先後必須加上雙引號;
-s<字符串>:根據字符串來設置日期與時間。字符串先後必須加上雙引號;
-u:顯示GMT;
--help:在線幫助;
--version:顯示版本信息。
參數
<+時間日期格式>:指定顯示時使用的日期時間格式。
日期格式字符串列表
%H 小時,24小時制(00~23)
%I 小時,12小時制(01~12)
%k 小時,24小時制(0~23)
%l 小時,12小時制(1~12)
%M 分鐘(00~59)
%p 顯示出AM或PM
%r 顯示時間,12小時制(hh:mm:ss %p)
%s 從1970年1月1日00:00:00到目前經歷的秒數
%S 顯示秒(00~59)
%T 顯示時間,24小時制(hh:mm:ss)
%X 顯示時間的格式(%H:%M:%S)
%Z 顯示時區,日期域(CST)
%a 星期的簡稱(Sun~Sat)
%A 星期的全稱(Sunday~Saturday)
%h,%b 月的簡稱(Jan~Dec)
%B 月的全稱(January~December)
%c 日期和時間(Tue Nov 20 14:12:58 2012)
%d 一個月的第幾天(01~31)
%x,%D 日期(mm/dd/yy)
%j 一年的第幾天(001~366)
%m 月份(01~12)
%w 一個星期的第幾天(0表明星期天)
%W 一年的第幾個星期(00~53,星期一爲第一天)
%y 年的最後兩個數字(1999則是99)
實例:
格式化輸出:
1秒後輸出
設置時間
五、 如何在Linux系統上獲取命令的幫助信息,請詳細列出,並描述man文檔的章節是如何劃分的。
在Linux中有兩種方式:內部命令:help COMMAND
外部命令:一、命令自帶簡要格式的使用幫助
#COMMAND ---help
二、使用手冊:manual 位置:/usr/share/man
#man COMMAND
Man文檔的章節的劃分:
|1|標準用戶命令(Executable programs or shell commands)
|2|系統調用(System calls)functions provided by the kernel
|3|庫調用(Library call)functions within program libraries
|4|特殊文件(設備文件)的訪問入口(/dev)Special files (usually found in /dev)
|5|文件格式(配置文件的語法),指定程序運行特性File formats and conventions
|6|遊戲(Games)
|7|雜項(Miscellaneous)including macro packages and conventions
|8|管理命令 System administration commands
|9|跟kernel有關的文件Kernel routines
六、 請羅列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設備提供一種統一模型的的接口;