1. 程式人生 > >第二次月考

第二次月考

沒有 bootp 安全性 es2017 軟件 bin random 速度 文件

第一部分:簡答題

1、操作系統的五大功能

①硬件驅動 ②進程管理 ③內存管理 ④網絡管理 ⑤文件管理

2、Linux的哲學思想

①一切皆文件 ②小型,單一用途的程序(也可以說短小精悍)③連接程序,共同完成復雜的任務 ④避免令人困惑的用戶界面 ⑤配置數據存儲在文本中

3、RAID級別以及簡述

技術分享

RAID0:也稱為帶區集。它將兩個以上的磁盤並聯起來,稱為一個大容量的磁盤。在存放數據時,分段後分散存儲在這些磁盤中,因為讀寫時都可以並處理,所以在所有的級別中,RAID0的速度是最快的。但是RAID0既沒有冗余能力,也不具備容錯能力,如果一個物理磁盤損壞,所有數據都會丟失。

技術分享

RAID1:兩組以上的N個磁盤相互鏡像,在一些多線程操作系統中能有很好的讀取速度,理論上讀取速度等於硬盤數量的倍數,與RAID0相同。另外寫入速度有微小的降低。只要一個磁盤正常即可維持運作,可靠性最高。其原理為在主硬盤上存放數據的同時也在鏡像硬盤上寫入一樣的數據。當主物理硬盤損壞時,鏡像硬盤則代替主硬盤的工作。因為有鏡像硬盤做備份,所以RAID1的數據安全性在所有的RAID級別上來說是最好的。但無論用多少磁盤做RAID1,僅算一個磁盤的容量,是所有RAID中磁盤利用率最低的一個級別。

技術分享

RAID5:是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。RAID5至少需要三塊盤,它不是對存儲的數據進行備份,而是把數據和相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上,並且奇偶校驗信息和相對應的數據分別存儲在不同的磁盤上。當RAID5的一個磁盤數據發生損壞後,可以利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。DAID5可以理解為RAID0和RAID1的折中方案。RAID5可以為系統提供數據安全保障,但保障程度要比鏡像低而磁盤空間的利用率要比鏡像高。RAID5具有和RAID0相近似的數據讀取速度,只是因為多了一個奇偶校驗信息,寫入數據的速度相對單獨寫入一塊硬塊的速度略慢,同時由於多個數據對應一個奇偶校驗信息,RAID5的磁盤空間利用率比RAID1高,便宜。

技術分享

RAID1 0:RAID1 0是先鏡像再分區數據,再將所有硬盤分為兩組,視為是RAID0的最低組合,然後將這兩組各自視為RAID1運作。

4、一臺計算機有哪些部件構成

技術分享

5、介紹linux安全模型

3A 認證 授權 審計

6、OSI網絡模型以及介紹

物理層: 將數據轉換為可通過物理介質傳送的電子信號 相當於郵局中的搬運工人

數據鏈路層: 決定訪問網絡介質的方式,在此層將數據分幀,並處理流控制。本層 指定拓撲結構並提供硬件尋 址。相當於郵局中的裝拆箱工人

網絡層: 使用權數據路由經過大型網絡。相當於郵局中的排序工人

傳輸層: 提供終端到終端的可靠連接。相當於公司中跑郵局的送信職員

會話層: 允許用戶使用簡單易記的名稱建立連接。相當於公司中收寄信、寫信封與拆信封的秘書

表示層: 協商數據交換格式。相當公司中簡報老板、替老板寫信的助理

應用層: 用戶的應用程序和網絡之間的接口老板

7、簡述三次連接,四次斷開

技術分享

三次連接(握手):

第一次握手:建立連接時,客戶端A發送SYN(J)包到服務器B,並進入SYN_SEND狀態,等待服務器確認

第二次握手:服務器B收到SYN(J)包,必須確認客戶ASYN(ACK J+1)包,同時自己也發送一個SYN(K)包,即SYN+ACK包,此時服務器B進入SYN_RECV狀態

第三次握手:客戶端A收到服務器BSYN+ACK包後,向服務器B發送確認包ACK(ACK K+1),此包發送完畢,客戶端A和服務器B進入ESTABLISHED狀態,完成三次握手,之後就可以進行數據傳送了

四次斷開(揮手):

第一次揮手:客戶端向服務器發送一個FIN包,序列號為M,此時客戶端進入FINWAIT_1狀態

第二次揮手:服務器收到客戶端發送的FIN包,向客戶端回一個ACK確認包,序列號為M+1,此時客戶端進入FINWAIT_2狀態

第三次揮手:服務器向客戶端發送FIN(N)包,請求關閉連接,同時服務器進入CLOSE_WAIT狀態

第四次揮手:客戶端收到服務器發送的FIN包,向服務器發送ACK(N+1)包,然後客戶端進入TIME_WAIT狀態;服務器收到客戶端的ACK包以後,就關閉連接;此時。客戶端等待2MSL後依然沒有收到回復,則證明服務器已正常關閉。此時,客戶端也可以關閉連接了

8、簡述linux啟動流程

①POST加電自檢,加載BIOS的硬件信息,獲取第一個啟動設備

②讀取第一個啟動設備MBR的引導加載程序(grub)的啟動信息

③加載核心操作系統的核心信息,核心開始解壓縮,並嘗試驅動所有的硬件設備

④核心執行init程序,並獲取默認的運行信息

⑤init程序執行/etc/rc.d/rc.sysinit文件

⑥啟動核心的外掛設備

⑦init執行運行的各個批處理文件(scripts)

⑧init執行/etc/rc.d/rc.local

⑨執行/bin/login程序,等待用戶登錄

⑩登錄之後開始以shell控制主機

第二部分:練習題

1、定義別名命令baketc,每天將/etc/目錄下所有文件,備份到/testdir獨立的子目錄下,並要求子目錄格式backupYYYY-mm-dd,備份過程可見

alias baketc="cp -arv /etc/ /testdir/backup`date +%F`"

知識補充:

cp常用的選項:

-a :歸檔,相當於 -dR --preserv=all

-r ,-R:遞歸復制目錄及內部所有內容

-v :顯示操作過程信息

2、計算1+2+3+4+..+99+100的總和

四種方法如下:

echo {1..100}|tr -s “ ” +|bc

awk ‘BEGIN{{i=1;do {print sum+=i;i++}while(i<=100)}}’|tail -1

awk ‘BEGIN{for (i=1;i<=100;i++) sum+=i;{printf(“%d\n”,sum)}}’

Print中不能使用%s,%d或者%c,所以這裏用printf

Print自動換行,printf沒有自動換行

#!/bin/bash

i=1

sum=0

while [ $i -le 100 ] ;do

let sum+=i

let i++

done

echo $sum

3、設計一套密碼安全管理體系

①使用數字、大寫字母、小寫字母及特殊字符中至少三種

②足夠長

③使用隨機密碼

④定期更換,不要使用最近曾經使用過的密碼

4、Linux系統軟件安裝和卸載的常見方法以及優缺點

安裝:①rpm:rpm方便進行軟件的安裝、查詢、卸載、升級等工作。但是rpm軟件包之間的依賴性問題往往會很繁瑣,尤其是軟件由多個rpm包組成時。rpm不能根據依賴關系自動安裝依賴包。

②yum:基於rpm包管理,能夠從指定的服務器自動下載rpm包並且安裝,可以自動處理依賴性關系,並且一次性安裝所有依賴包。

卸載:①rpm -e XXX.rpm (無法卸載依賴包,如若想一並卸載依賴包,則加--nodeps)

yum remove xxx.rpm 這種方法非常不建議使用,卸載過程會將待卸載的軟件包所依賴的軟件包一並卸載掉,很容易造成系統缺少某些包而崩潰等問題

5、如何修改linuxIP地址、網關和主機名

即時生效:ifconfig eth0 192.168.37.100 netmask 255.255.255.0

啟動生效:修改對應網卡的IP地址的配置文件

vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0 #描述網卡對應的設備別名

BOOTPROTO=static #靜態指定

IPADDR=192.168.37.100 #指定靜態IP地址

ONBOOT=yes #啟動時激活此設備

修改主機名:vim /etc/sysconfig/network(centos6)

vim /etc/hostname(centos7)

6、設計一個20臺主機的局域網(列出設備及拓撲圖)

7、每周2,4,7備份/var/log/messages文件至/logs目錄中,文件名形如“messages-yyyymmdd

#先創建/logs目錄:mkdir /logs

#corntab -e

0 0 * * 2,4,7 /bin/cp /var/log/messages /logs/messages-$(date +\%Y\%m\%d) &> /dev/null

8、寫一個階乘的腳本n!=1x2x3x4...xn

#!/bin/bash
num=$1
expr $num + 1 &>/dev/null
read -p "please input a int:" num
[ $num -le 0 ] && echo "please input a number bigger than 0" && exit 3
s=1
for i in `seq 1 $num`
do
s=$(($s*$i))
done
echo $s

9、生成10個隨機數保存於數組中,並找出其最大值和最小值

#!/bin/bash

declare -a rand

declare -i min
declare -i max
for i in {0..9}
do
rand[$i]=$RANDOM
[ $i -eq 0 ] && { min=${rand[$i]};max=${rand[$i]}; }
[ $min -gt ${rand[$i]} ] && min=${rand[$i]}
[ $max -lt ${rand[$i]} ] && max=${rand[$i]}
done
echo "all number are ${rand[*]}"
echo "max=$max"
echo "min=$min"

第三部分:選擇題

1、下面哪些命令可以將losf-4.82-5.el6.x86_64.rpm安裝到當前系統(ABC)

A.rpm -ivh losf-4.82-5.el6.x86_64.rpm B.rpm -Uvh losf-4.82-5.el6.x86_64.rpm

C.yum localinstall losf-4.82-5.el6.x86_64.rpm D.rpm -e losf-4.82-5.el6.x86_64.rpm

知識補充:

-e<套件檔>或--erase<套件檔>:刪除指定的套件;

-h或--hash:套件安裝時列出標記;

-i:顯示套件的相關信息; -i<套件檔>或--install<套件檔>:安裝指定的套件檔;

-U<套件檔>或--upgrade<套件檔>:升級指定的套件檔;

-v:顯示指令執行過程;

yum localinstall package 從本機目錄安裝軟件包

2、yum一個倉庫的gpgkey不存在與當前系統上,如何能夠成功安裝此倉庫中的軟件包(AD)

A.修改倉庫對應的repo文件,添加gpgkey參數,並制定對應的key所在的url

B.修改倉庫對應的repo文件,刪除gpgkey參數

C.修改倉庫對應的repo文件,刪除gpgcheck=1

D.修改倉庫對應的repo文件,刪除gpgcheck=0

3、計劃明天淩晨5點,將線上一臺的服務器的httpd停止,並且啟動nginx,要完成這一任務,最合適的工具是(C)

A.crontab B.batch C.at D.when

知識補充;

at命令一次性任務計劃

batch命令創建的也是一次性任務計劃和at的用法幾乎一致,但batch不需要指定時間會讓系統自行選擇空閑的時間去執行指定的任務

crontab命令周期性任務計劃

4、如何快速查看當前nginx進程的所有pid(CD)

A.ps|grep nginx B.pidof -s nginx C.pidof nginx D.ps aux|grep nginx

知識補充:

Ps:

-a:顯示一個終端的所有進程,除了回話引線

-u:選擇有效的用戶id或者是用戶名

-x:顯示沒有控制終端的進程,同時顯示各個命令的具體命令

Pidof

pidof命令用於查找指定名稱的進程的進程號id

-s:僅返回一個進程號;

5、以下哪些命令可以查看當前系統的TCP連接(CD)

A.Top B.htop C.ss D.netstat

知識補充:

Top命令經常用來監控linux的系統狀態,比如cpu、內存的使用

Htoplinux系統下一個基本文本模式的、交互式的進程查看器,主要用於控制臺或shell,可以替代top,或者說是top的高級版

Ss命令用於顯示socket狀態,是一個非常實用、快速、有效的跟蹤IP連接和sockets的新工具

netstat命令用於顯示各種網絡相關信息,如網絡連接,路由表,接口狀態。

6、下面哪一個字符集表示非空字符(ABD)

A.[:graph:] B.[:digit:] C.[:space:] D.[:alpha:]

知識補充:

[:graph:] :匹配打印字符,相當於‘[:alnum:]‘ +‘[:punct:]‘.

[:digit:] :任何數字

[:space:] 空白字符

[:alpha:] :任何字母

7、test表達式中,以下哪一個運算符可以判斷文件不是空(C)

A.-z B.-n C.-s D.-S

知識補充:

test –n 字符串 #字符串的長度非零

test –z 字符串 #字符串的長度是否為零

test –s File #文件是否是非空白文件

test -S file #如果文件為一個套接字特殊文件,則為真;
8、關於shell CLI中的提示符論述正確的是(D)

A.PS1控制默認命令行提示的格式 B.PS2控制第二層命令行提示符的格式

C.PS3控制第三層命令行提示符的格式 D.以上說法都對

知識補充:

PS1--默認的交互提示符,通過改變PS1,就可以在提示符顯示一些對我們有用的信息,如用戶名、工作目錄、系統時間等

PS2--多行交互提示符

PS3 --shell腳本中使用select時的提示符

9、在添加新用戶時,哪個參數為新用戶指定密碼(B)

A.-d B.-p C.-r D.-P

知識補充:

-d:指定用戶登錄時的主目錄,替換系統默認值/home/<用戶名>

-p:指定密碼

-r:建立系統賬號

第四部分:開放題

1、簡述你的優缺點

小提示:最好條理化總結,簡潔明了

2、簡述工作中最難忘的一次工作經歷

小提示:無關緊要的話不要說太多,略顯啰嗦

第二次月考