本週做業內容:linux
一、描述計算機的組成及其功能。編程
計算機主要由五部分組成:控制器、運算器、存儲器、輸入設備、輸出設備
小程序
一、控制器:計算機的核心,控制計算機如何尋址,數據提取及將控制信號傳送到各部件,協調各設備之間如何進行工做。
windows
二、運算器:實現算術運算和邏輯運算的設備。
緩存
三、存儲器:存儲程序、數據及各類信號等信息,用來給運算器調用。經常使用的有硬盤、內存
安全
四、輸入設備:將程序、數據、控制命令等信息輸入到計算機。常見的有鍵盤、鼠標、CD-ROM,磁盤機等
bash
五、輸出設備:跟輸入設備恰好相反,把計算機運行結果反饋、顯示出來。如顯示器、打印機等。
服務器
輸入輸出設備統稱爲外部設備,用做人機交換網絡
二、按系列羅列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版本
三、描述Linux的哲學思想,並按照本身的理解對其進行解釋性描述。
一、一切皆文件(包括硬件);
二、由衆多個單一的小程序組成;
三、組合小程序完成複雜任務;
四、儘量避免捕獲用戶接口,爲了方便腳本編程以實現自動化執行;
五、使用文本文件保存程序的配置數據,使用一個文本編輯器便可完成系統及服務配置工做;
六、提供機制,而非策略。
四、說明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'
五、如何在Linux系統上獲取命令的幫助信息,請詳細列出,並描述man文檔的章節是如何劃分的。
命令的幫助信息:
一、內部命令(經過type COMMAND得知命令是外置或者內置命令)
#help COMMAND
二、外部命令:都有一個可執行程序,位於文件系統某目錄下 (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:管理類的命令
六、請羅列Linux發行版的基礎目錄名稱命名法則及功用規定
Liunx文件命名法則:
一、文件名嚴格區分大小寫
二、全部文件都位於根目錄下,FHS
三、路徑以/做爲分隔符
四、每一個文件的名稱可以使用除/之外的任意字符,單個名稱最長不超過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相關的安全策略等信息的存儲位置。