本週作業內容:
1、描述計算機的組成及其功能。
計算機主要由五部分組成:控制器、運算器、存儲器、輸入設備、輸出設備
1、控制器:計算機的核心,控制計算機如何尋址,數據提取及將控制信號傳送到各部件,協調各設備之間如何進行工作。
2、運算器:實現算術運算和邏輯運算的設備。
3、存儲器:存儲程序、數據及各種信號等信息,用來給運算器調用。常用的有硬盤、內存
4、輸入設備:將程序、數據、控制命令等信息輸入到計算機。常見的有鍵盤、鼠標、CD-ROM,磁盤機等
5、輸出設備:跟輸入設備剛好相反,把計算機運行結果反饋、顯示出來。如顯示器、打印機等。
輸入輸出設備統稱爲外部設備,用作人機交換
2、按系列羅列Linux的發行版,並描述不同發行版之間的聯繫與區別。
slackware:
SUSE:主要面向企業用或高級桌面應用的Linux系統,唯一的一家和微軟合作的公司,包括在技術以及業務層面的合作,支持很多windows下有的功能、服務,界面美觀華麗。非常適用於關鍵業務的高性能複雜操作,並在桌面化系統上比較佔優勢。
SLES:SUSE Linux Enterprise Server
openSUSE:現在的 SUSE Linux 由 openSUSE 項目所維護,這個項目的主要目標是使 SUSE Linux 成爲最易獲得和最廣泛使用的Linux,成爲最棒的用戶Linux桌面環境。
Fedora:Red Hat Linux個人版衍生出來的免費發行版,每6個月發行一個新版本。更多軟件,更新的程序包,
Debian:上游最大的發行版,運行極其穩定,非常適合服務器。不適合新手用戶,更適合系統管理員和高級用戶。使用apt-get/dpkg包管理方式。Debian分三個分支: stable, testing和unstable
Ubuntu:基於Debian的unstable版本,面向桌面系統,
Linux Mint:基於Ubuntu的發行版
Hedhat:最著名的Linux發行版
RHEL:RedHat Enterprise Linux,收取服務費
CentOS:兼容RHEL的格式,社區免費版,代碼全部基於RHEL源代碼進行重新編譯,不提供服務。使用yum來管理軟件包。
FedoraCore:由原來的Redhat個人桌面版發行而來。
Gentoo:Linux中最年輕的發行版,擁有各發行版的優點,2002年發行。包含衆多軟件包,每次需要針對每個系統進行編譯,安裝及使用最困難,但是可作爲最佳的學習對象,可以通過它瞭解Linux操作系統的內部運作原理。可作優化或定製,追求極限的配置、性能。
FreeBSD:並不是一個發行版,但是FreeBSD與Linux支持的硬件環境比較一致,採用的軟件也比較類似,用戶也有許多重合。所以可以將FreeBSD視爲一個Linux版本
3、描述Linux的哲學思想,並按照自己的理解對其進行解釋性描述。
1、一切皆文件(包括硬件);
2、由衆多個單一的小程序組成;
3、組合小程序完成複雜任務;
4、儘可能避免捕獲用戶接口,爲了方便腳本編程以實現自動化執行;
5、使用文本文件保存程序的配置數據,使用一個文本編輯器即可完成系統及服務配置工作;
6、提供機制,而非策略。
4、說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,並配合相應的示例來闡述。
ifconfig:configure a network interface,顯示、配置網絡接口
ifconfig -a:顯示所有接口信息,包括down的網卡(沒激活的)
ifconfig eth0 up:把默認網卡eth0激活(反之,down爲禁用)
ifconfig eth0 192.168.0.1 netmask 255.255.255.0:設置eth0網卡IP和網關
echo:顯示文字
例如:echo 'who am i'輸出爲who am i
[terry@localhost ~]$ echo 'who am i'
who am i
-n:輸出文字後不自動換行
-e:對字符串中出現的一些字符進行特別處理,例如
\a 發出警告聲;\b 刪除前一個字符;\c 最後不加上換行符號;
tty:打印顯示終端連接名
[terry@localhost ~]$ tty
/dev/pts/1
startx:啓用X Window,實際上調用的啓動命令是xinit
export:顯示或設置環境變量,僅作用於此會話,臨時的修改。
pwd:print working directory,顯示當前工作目錄
[terry@localhost share]$ pwd
/usr/share
history:顯示命令歷史,該歷史只有在系統關閉時候纔會寫入緩存文件.bash_history中,下次開機會從該文件讀取歷史命令信息。
!#:執行命令歷史中的第#條命令,例如!2
!!:執行上一條命令
!string:執行命令最近一條以string字符開頭的命令
!$:調用上一條命令的最後一個參數
先按ESC鬆開再按. 功能同上
shutdown:安全關閉或重啓系統。
-f:force,強制執行重啓不進行磁盤檢測
-F:重啓時進行磁盤檢測
-h:關閉電源
-r:關閉後重啓
-t:延遲時間重啓(shutdown -t 60)
halt, poweroff, reboot - Halt, power-off or reboot the machine
halt:調用shutdown -h命令關機,halt執行時﹐殺死應用進程﹐執行sync系統調用﹐文件系統寫操作完成後就會停止內核。
poweroff:關機。多用戶下不建議使用
reboot:調用shutdown -r命令進行重啓
另外補充一個命令:init
init是所有進程的祖先﹐它的進程號始終爲1﹐所以發送TERM信號給init會終止所有的用戶進程﹑守護進程等。shutdown就是使用這種機制。init定義了8個運行級別(runlevel),init 0爲關機﹐init1爲重啓。關於init可以長篇大論﹐這裏就不再敘述。另外還有telinit命令可以改變init的運行級別﹐比如﹐telinit -iS可使系統進入單用戶模式﹐並且得不到使用shutdown時的信息和等待時間。
hwclock:硬件時間
-s:--hctosys,以硬件時間爲準,設置系統時間
-w:--systohc,以系統時間爲準,設置硬件時間
date:顯示或設置系統時間
date:顯示當前系統時間
date -u:顯示UTC時間
+%H:小時
+%M:分鐘
+%S:秒
+%m:月
+%d:日
+%y:年份最後兩位數字
+%Y:完整年份
設置時間命令格式:date [參數]... [+格式]
# date -s 20160807
# date -s 12:19:50
或者
date -s '20160807 12:19:50'
date -s '2016-08-07 12:19:50'
5、如何在Linux系統上獲取命令的幫助信息,請詳細列出,並描述man文檔的章節是如何劃分的。
命令的幫助信息:
1、內部命令(通過type COMMAND得知命令是外置或者內置命令)
#help COMMAND
2、外部命令:都有一個可執行程序,位於文件系統某目錄下 (which, whereis)
(1)#COMMAND --help
#COMMAND -h
(2)使用手冊(manual)
#man COMMAND
(3)信息頁
#info COMMAND
(4)程序自身的幫助文檔
README INSTALL
ChangeLog
(5)程序官方文檔
官方站點:Documentation
(6)發行版的官方文檔
(7)Google
man分爲8個章節:保存在/usr/share/man/ 目錄下
man1:用戶命令
man2:系統調用
man3:C庫調用
man4:設備文件及特殊文件
man5:配置文件格式
man6:遊戲
man7:雜項
man8:管理類的命令
6、請羅列Linux發行版的基礎目錄名稱命名法則及功用規定
Liunx文件命名法則:
1、文件名嚴格區分大小寫
2、所有文件都位於根目錄下,FHS
3、路徑以/作爲分隔符
4、每個文件的名稱可使用除/以外的任意字符,單個名稱最長不超過255個字符
Linux目錄遵守FHS標準,以保證各發行版之間的兼容性。
LSB(Linux Standards Base)
FHS:(FileSystem Heirache Standard):其主要的目錄及其功用如下:
/boot:引導文件的存放目錄:內核文件(vmlinuz)、引導加載器(bootloader,grub)都存放在此目錄
/bin: 供所有用戶使用的基本命令。不能關聯至獨立分區,OS啓動即會用到的程序;
/sbin:管理類的基本命令。不能關聯至分區,OS啓動即會用到的程序
/lib: 基本共享庫文件,以及內核模塊文件(/lib/modules);
/lib64:專用於x86_64系統上的輔助共享庫文件存放位置
/etc:配置文件目錄(存文本文件)
/home/USERNAME:普通用戶家目錄(例如terry用戶家目錄爲/home/terry/)
/root:管理員家目錄(一般情況下不需要用到,因爲實際生產中不應該使用管理員登錄,避免誤操作)
/media:便攜式移動設備掛載點;
cdrom
usb
/mnt:臨時文件系統掛載點
/dev:設備文件及特殊文件存儲位置
b:block device,隨機訪問
c:character device,線性訪問
/opt:第三方應用程序的安裝位置,一開始是空的。
/srv:系統上運行服務程序時用到的中間數據。
/tmp:臨時文件,所有用戶都有使用權限
/usr:universal shared,read-only data
bin:保證系統擁有完整功能而提供的應用程序(對所有用戶可用)
sbin:保證系統擁有完整功能而提供的應用程序(對管理員可用)
include:Header files included by C programs (C程序的頭文件 header files)
lib:Libraris
share:結構化獨立的數據,例如doc,man等
local:第三方應用程序的安裝位置。用戶自己手動安裝的而不是包管理軟件安裝的。
#除了/boot跟/home以外,都是不能獨立分區的。
/var:variable data files,可變數據文件
cache:應用程序緩存數據目錄
lib:應用程序狀態信息數據
lock:鎖文件
log:日誌目錄與文件
opt:專用於爲/opt應用程序存儲可變數據
run:運行中的進程相關的數據,通常用於存儲進程的pid文件
spool:應用程序數據緩衝池
tmp:保存系統兩次重啓產生的臨時系統數據文件。
/proc:用於輸出內核與進程信息相關的虛擬文件系統,(一切皆文件,進程也當作文件,僞文件)
/sys:用於輸出當前系統上硬件相關信息的虛擬文件系統(也是一個僞文件系統)
/selinux:security enhanced Linux, selinux相關的安全策略等信息的存儲位置。