Linux第一次做業

一、描述計算機的組成及其功能。linux

計算機是由控制器、運算器、存儲器、輸入設備和輸出設備五部分組成。shell

1)控制器:控制器是整個計算機系統的控制中心,它指揮計算機各部分協調地工做,保證計算機按照預先規定的目標和步驟有條不紊地進行操做及處理。小程序

2)運算器:運算器的主要功能是對數據進行各類運算。這些運算除了常規的加、減、乘、除等基本的算術運算以外,還包括能進行「邏輯判斷」的邏輯處理能力,即「與」、「或」、「非」這樣的基本邏輯運算以及數據的比較、移位等操做。一般把控制器與運算器合稱爲中央處理器(Central Processing Unit-CPU)centos

3)存儲器:存儲器分爲只讀存儲器(ROM)和隨機讀寫存儲器(RAM)。只讀存儲器只能讀取數據,不能寫入數據(如,內存);隨機讀寫存儲器能讀寫數據(如,磁盤、U盤)。緩存

4)輸入設備:用來向計算機輸入各類原始數據和程序的設備叫輸入設備安全

5)輸出設備:從計算機輸出各種數據的設備叫作輸出設備bash


二、按系列羅列Linux的發行版,並描述不一樣發行版之間的聯繫與區別。服務器

1)Slackware:網絡

最先古老的Linux發行版,主要用於桌面、工做站、服務器,採用的默認桌面是KEDide

2)SUSE Linux:

基於Slackware二次開發的一款Linux,主要用於商業桌面、服務器。流行於歐洲,中途經屢次收購發現較爲緩慢。

3)OPENSUSE:

由suse發展而來,被同一家公司收購,主要用於桌面環境,界面較爲酷炫,免費。

4)debian:

互聯網自發組織,最接近原滋原味的Linux,使用於任何環境,因爲系統穩定,多用於服務器

5)Ubuntu:

Ubuntu是基於Debian發行版和GNOME桌面環境,每六個月發行一次新的版本。用於桌面壞境

6)redhat:

早起版本主要用於桌面環境,免費。自從Red Hat 9.0版本發佈後,Red Hat公司就再也不開發桌面版的Linux發行包,04年後對Red Hat 9.0不提供技術支持,後專作服務器操做系統Red Hat Enterprise Linux,每十八個月發行一個新版本,內核相對較低。力求穩定,不求最新。

三、描述Linux的哲學思想,並按照本身的理解對其進行解釋性描述。

1)一切皆文件,把幾乎全部資源,包括硬件設備都組織爲文件格式

2)由衆多單一的小程序組成,一個程序只實現一個功能,組合小程序完成複雜任務

3)儘可能避免跟用戶交互:

4)使用純文本文件保存配置信息

四、說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,並配合相應的示例來闡述。

1)ifconfig:顯示或配置網絡設備

用法:ifconfig [-v] [-a] [-s] [interface]    --查看網路設備信息

實例

[jun_shao@localhost ~]$ ifconfig    //查看全部網絡設備信息
[jun_shao@localhost ~]$ ifconfig -a    //同上
[jun_shao@localhost ~]$ ifconfig wlp3s0    //查看指定網絡設備的詳細信息 
wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.102  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::82a5:89ff:fe58:e60f  prefixlen 64  scopeid 0x20<link>
        ether 80:a5:89:58:e6:0f  txqueuelen 1000  (Ethernet)
        RX packets 1445  bytes 270800 (264.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 680  bytes 103589 (101.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2)echo:回顯請求

用法:echo: echo [-neE] [參數 ...]

實例

[jun_shao@localhost ~]$ echo $SHELL    //請求顯示當前使用的shell程序,$SHELL環境變量
/bin/bash
[jun_shao@localhost ~]$ echo "$SHELL"    //雙引號爲強引用,直接輸出$SHELL環境變量的值
/bin/bash
[jun_shao@localhost ~]$ echo -e '$SHELL'    //單引號爲弱引用,不引用變量的值,直接輸出字符串;-e:啓動轉移字符,如\n 換行
$SHELL

3)tty:查看當前終端設備的文件名

終端:用戶與主機交互必須用到的設備

終端的分類:

物理終端:直接介入本機的顯示器和鍵盤:console

虛擬終端:附加在物理終端之上的以軟件方式虛擬實現的終端,centos 6 默認啓動6個虛擬終端Ctrl+Alt+FN:[1 6]

圖形終端:附加在物理終端之上的以軟件方式虛擬實現的終端,但額外會提供桌面環境,設備文件路徑:/dev/tty#

模擬終端:圖形界面下打開的命令行接口,基於SSH協議或telnet洗衣等遠程打開的界面,設備文件:/dev/pts/# [0 oo)

用法:tty [選項]...

[jun_shao@localhost ~]$ tty    //使用的模擬終端
/dev/pts/2

4)startx:顯示圖形終端

5)export:設置或顯示環境變量。

實例

[root@localhost jun_shao]# export HISTCONTROL=ignorespace

6)pwd:顯示當前工做目錄的名字

實例

[jun_shao@localhost ~]$ pwd
/home/jun_shao

7)history:管理歷史命令,全部命令歷史都存在緩存中

a.登陸進shell後新執行的命令只會記錄在緩存中

b.登陸shell時,會讀取命令歷史文件記錄下來

用法:history: history [-c] [-d 偏移量] [n]

[jun_shao@localhost ~]$ history     //顯示歷史命令包括緩存中的命令
[jun_shao@localhost ~]$ history -c    //清空歷史命令
[jun_shao@localhost ~]$ history -d 111   //刪除偏移量爲111的歷史命令
[jun_shao@localhost ~]$ history -a    //將緩存中的歷史命令手動添加到歷史命令文件.bash_history 中

調用管理歷史命令中命令的方式:

!#:重複執行第#條指令

!!:執行上一條命令

!string 調用最近以string開頭的命令

!$:調用上一條命令的最後一個參數

ESC,.:調用上一條命令的最後一個參數

實例

[jun_shao@localhost ~]$ !245    //重複執行管理歷史命令中的第245條的命令
ls
vmware  公共  模板  視頻  圖片  文檔  下載  音樂  桌面
[jun_shao@localhost ~]$ !!    //重複執行上一條命令
ls /usr/
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp
[jun_shao@localhost ~]$ !l    //調用最近以l開頭的命令
ls /usr/
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp
[jun_shao@localhost ~]$ ls !$     //調用上一條命令的最後一個參數
ls /etc/fstab
/etc/fstab

環境變量:

HISTSIZE:命令歷史記錄的條數

HISTFILE:顯示當前用戶管理歷史文件的路徑~/.bash_history

HISTFILESIZE:命令歷史文件記錄歷史的條數

實例

[root@localhost jun_shao]# echo $HISTFILE
/root/.bash_history

控制命令歷史的記錄方式

環境變量:HISTCONTROL

ignoredups:忽略連續且重複的命令,系統默認

ignorespace:忽略全部以空白開頭的命令

ignoreboth:上述兩個同時生效

實例

[root@localhost jun_shao]# echo $HISTCONTROL    //查看當前shell使用那種方式記錄歷史命令
ignoredups
[root@localhost jun_shao]# export HISTCONTROL=ignorespace    //更改shell記錄歷史記錄的使用方式,只對當前shell有效
[root@localhost jun_shao]# echo $HISTCONTROL
ignorespace

8)shutdown:關閉和重啓系統命令

用法:shutdown [OPTIONS...] [TIME] [WALL...]

實例

[root@localhost jun_shao]# shutdown -r 10    //十分鐘後重啓系統
[root@localhost jun_shao]# shutdown -h 10    //十分後關閉系統
[root@localhost jun_shao]# shutdown -c    //取消重啓和關閉系統

9)poweroff:關機命令

10)reboot:重啓命令

11)hwclock:顯示計算機的硬件時鐘

用法:hwclock [功能] [選項...]

實例

[root@localhost jun_shao]# hwclock    //顯示硬件時鐘
[root@localhost jun_shao]# hwclock -s    //從硬件時鐘設置系統時間
[root@localhost jun_shao]# hwclock -w    // 從當前系統時間設置硬件時鐘

12)date:查看或設置系統時間

用法:date [選項]... [+格式]

 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

實例

[root@localhost jun_shao]# date    //顯示系統
[root@localhost jun_shao]# date +%F    //完整日期格式,等價於 %Y-%m-%d
[root@localhost jun_shao]# date 0820222216.23    //設置系統時間
2016年 08月 20日 星期六 22:22:23 CST

五、如何在Linux系統上獲取命令的幫助信息,請詳細列出,並描述man文檔的章節是如何劃分的。

Linux系統命令:

內部命令:是指寫在bash裏面,其執行速度高,由於解析命令不須要Shell建立子進程

外部命令:都有一個可執行文件,位於文件系統某個目錄下

實例

[jun_shao@localhost ~]$ which ls    //經過which查看ls程序存放在那個目錄下
alias ls='ls --color=auto'    //alias,別名,說明執行ls等於執行了ls --color=auto
	/usr/bin/ls
[jun_shao@localhost ~]$ whereis ls    //經過whereis命令查找ls的可執行文件、源代碼文件、幫助文件在文件系統中的位置
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

內部命令獲取幫助的方式:

1)# COMMAND -h 或 # COMMAND --help

2)使用手冊:# man COMMAND 

3)信息頁 :# info COMMAND 

4)程序自身的幫助文檔 README、INSTALL、ChangeLog

5)程序的官方文檔

6)發行版的官方文檔

7)google

實例

[jun_shao@localhost ~]$ cd -h    
-bash: cd: -h: 無效選項
cd: 用法:cd [-L|[-P [-e]]] [dir]

外部命令獲取幫助信息的方式:

1)COMMAND --help

2)man COMMAND

手冊頁: /usr/share/man

man1 ... man8

man1:用戶命令

man2:系統調用

man3:C庫調用

man4:設備文件及特殊文件

man5:配置文件格式

man6:遊戲

man7:雜項

man8:管理類的命令(磁盤分區)

    注意:有些關鍵在不止一個章節中存在幫助手冊:

要查指定章節中的手冊:man [1...8] command

man命令的配置文件:/etc/man.config

MANPATH /PATH/TO/SOMEWHERE:指明新的手冊文件搜索位置

# man -M /PATH/TO/SOMEWHERE COMMAND:到指定位置下搜索COMMAND命令的手冊頁並顯示
六、請羅列Linux發行版的基礎目錄名稱命名法則及功用規定

/boot:引導文件的存放目錄,內核文件(vmlinuz)、引導加載器(bootloader,grub)都放在此目錄
/bin:供說有用戶使用的基本命令,不能關聯至獨立分區,os啓動即會用到的程序
/sbin:管理類的基本命令,不能關聯至獨立分區,os啓動即會用到的程序
/lib:基本共享庫文件,以及內核模塊文件(/lib/modules)
/lib64:專用於X86_64系統上的輔助共享庫文件存放位置
/etc:配置文件目錄(純文本文件)
	/etc/opt
	/etc/X11
/home/UserName:普通用戶家目錄
/root:管理員家目錄
/media: 便攜式移動設備掛載點
/mnt:臨時文件系統的掛載點
/dev:設備文件和特殊文件的存放點
    b:block device 隨機訪問
    c:character device 線性訪問
/opt:第三方應用程序安裝點
/srv:系統上運行的服務用到的數據
/tmp:臨時文件
/user:universal shared,read-only
    bin:供全部用戶使用的,保證系統擁有完整功能而提供的應用程序
    sbin:
    lib:
    lib64:
    include:C程序的頭文件
    share:結構化獨立的數據,如doc,man等
    local:第三方應用程序的安裝位置
/var:variable data file	可變數據存放點
    cache:應用程序緩存數據目錄
    lib:應用程序狀態數據
    local:專用於爲/usr/local下的程序存儲可變數據
    lock:鎖文件
    log:日誌目錄及文件
/opt:專用於爲/opt下的程序存儲可變數據
    run:運行中的進程相關的數據,一般用於存儲進程的pid文件
    spool:應用程序數據池
    tmp:保存系統兩次重啓之間產生的臨時數據
/proc:用於輸出內核於進程信息相關的虛擬文件系統
/sys:輸出當前系統上硬件設備相關信息的虛擬文件系統
/selinux:security enhanced linux,selinux相關的安全策略等信息的存儲位置
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息