1、用自己的語(yǔ)言簡(jiǎn)述計(jì)算機(jī)的組成
? 計(jì)算機(jī)由硬件系統(tǒng)和軟件系統(tǒng)組成,硬件系統(tǒng)遵循美籍匈牙利科學(xué)家馮.諾伊曼體系由運(yùn)算器、控制器、存儲(chǔ)器(分為主存儲(chǔ)器和輔助存儲(chǔ)器,主存儲(chǔ)器為內(nèi)部存儲(chǔ)器速度塊但斷電后數(shù)據(jù)會(huì)丟失例如:內(nèi)存,輔助存儲(chǔ)器為外部存儲(chǔ)器速度慢但是斷電后仍然可保存數(shù)據(jù)例如:硬盤(pán))、輸入及輸出等設(shè)備組成,軟件系統(tǒng)由系統(tǒng)軟件和應(yīng)用軟件組成,例如:操作系統(tǒng)、學(xué)習(xí)軟件、編程軟件、表格軟件、視頻軟件等應(yīng)用軟件。
2、簡(jiǎn)單說(shuō)明硬件、操作系統(tǒng)、應(yīng)用軟件與用戶(hù)之間的關(guān)系
? ?用戶(hù)通過(guò)應(yīng)用軟件進(jìn)行各種指令操作,應(yīng)用軟件通過(guò)系統(tǒng)調(diào)用接口向操作系統(tǒng)內(nèi)核申請(qǐng)硬件資源執(zhí)行用戶(hù)操作指令,操作系統(tǒng)內(nèi)核通過(guò)硬件驅(qū)動(dòng)等硬件接口,控制分配用戶(hù)操作指令所需要的硬件資源。
3、簡(jiǎn)述Linux哲學(xué)思想
?? 1.)一切皆文件
?? 2.)小型,單一用途的程序
?? 3.)連接多個(gè)程序,共同完成復(fù)雜的任務(wù)
?? 4.)避免令人困惑的用戶(hù)界面
?? 5.)配置數(shù)據(jù)保存在文件中
4、Linux系統(tǒng)中命令分為哪幾種類(lèi)型,請(qǐng)闡述其執(zhí)行順序
?? 別名alias 內(nèi)部命令 外部命令
?? alias >內(nèi)部命令> 外部命令
5、用自己的語(yǔ)言嘗試闡述什么叫重定向,并舉例說(shuō)明
? ? ?重定向就是把具有默認(rèn)設(shè)備的數(shù)據(jù)流傳輸?shù)椒悄J(rèn)設(shè)備的其他地方如:文件中,臨時(shí)連接等,其中I/o設(shè)備文件:標(biāo)準(zhǔn)輸入 標(biāo)準(zhǔn)輸出錯(cuò)誤輸出 就是這樣默認(rèn)設(shè)備的文件,通過(guò)ll /proc/$BASHPID/fd可以看到默認(rèn)設(shè)備對(duì)應(yīng)的文件描述為 0,1,2。Linux為其三種I/O設(shè)備提供了重定義方法:
1.)標(biāo)準(zhǔn)輸入重定向?使用0<或< 實(shí)現(xiàn)
2.)標(biāo)準(zhǔn)輸出重定向?使用 1>或>實(shí)現(xiàn)
3.)錯(cuò)誤輸出重定向?使用2>?實(shí)現(xiàn)
4.)管道符及將前一個(gè)程序的標(biāo)準(zhǔn)輸出結(jié)果當(dāng)作后一個(gè)程序的輸入進(jìn)行處理 使用 | 實(shí)現(xiàn)
5.)標(biāo)準(zhǔn)輸出和錯(cuò)誤輸出同時(shí)進(jìn)行重定向?> command? 2>&1? 或者 &> 或?2> command1>&2 實(shí)現(xiàn)
6.)將前一個(gè)程序的標(biāo)準(zhǔn)輸出和錯(cuò)誤輸出結(jié)果當(dāng)作后一個(gè)程序的輸入進(jìn)行處理 使用 2>&1| 或者 |& 實(shí)現(xiàn)
例:標(biāo)準(zhǔn)輸入重定向把 ruan.log 中所有小寫(xiě)字母轉(zhuǎn)換成大寫(xiě)并輸出到屏幕
[17:52:04 root@ruanruan data]#cat ruan.log
bash: ewewewe: command not found...
[17:52:10 root@ruanruan data]#tr 'a-z' 'A-Z' < ruan.log
BASH: EWEWEWE: COMMAND NOT FOUND...
[17:52:20 root@ruanruan data]#
例:標(biāo)準(zhǔn)輸出重定向??通過(guò)1>或>?使標(biāo)準(zhǔn)輸出信息不在默認(rèn)終端顯示,傳輸?shù)絩uan.log文件顯示
[21:07:54 root@cengtos7\ [ data]#
[21:07:54 root@cengtos7\ [ data]#cat ruan.log
[21:08:01 root@cengtos7\ [ data]#seq -s+ 100 > ruan.log
[21:08:40 root@cengtos7\ [ data]#cat ruan.log
1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67+68+69+70+71+72+73+74+75+76+77+78+79+80+81+82+83+84+85+86+87+88+89+90+91+92+93+94+95+96+97+98+99+100
[21:08:48 root@cengtos7\ [ data]#
例:通過(guò)管道符 | 實(shí)現(xiàn)標(biāo)準(zhǔn)輸出重定向到臨時(shí)連接 并把臨時(shí)連接當(dāng)作輸入進(jìn)行標(biāo)準(zhǔn)輸入重定向
[17:54:21 root@ruanruan data]#echo "obase=2;10" |bc
1010
?例: 通過(guò)<<? 實(shí)現(xiàn)多行重定向 把標(biāo)準(zhǔn)和錯(cuò)誤輸出重定向到xiao.log 中
[17:57:49 root@ruanruan data]#ls -l
total 4
-rw-r--r--. 1 root root 5 Mar 22 17:54 ruan.log
-rw-r--r--. 1 root root 0 Mar 22 17:56 xiao.log
[17:58:03 root@ruanruan data]#cat xiao.log
[17:58:10 root@ruanruan data]#cat &>xiao.log <<!
> my name is `hostname`
> `showwiwwi`
> !
[17:59:15 root@ruanruan data]#cat xiao.log
bash: showwiwwi: command not found...
my name is ruanruan
[17:59:23 root@ruanruan data]#
例:通過(guò)tee 命令 即輸入到屏幕也通過(guò)管道符進(jìn)行輸入重定向
[18:05:43 root@ruanruan data]#cat >ll.log <<!
> 12121
> !
[18:05:59 root@ruanruan data]#cat ll.log
12121
[18:06:03 root@ruanruan data]#tee |& tee -a ll.log <<!
> `nideyede`
> `lsb_release -i`
> !
bash: nideyede: command not found...
Distributor ID: CentOS
[18:11:00 root@ruanruan data]#cat ll.log
12121
Distributor ID: CentOS
[18:11:06 root@ruanruan data]#
場(chǎng)景題
1.領(lǐng)導(dǎo)老李在服務(wù)器上cat查看一個(gè)文件aa.txt,提示No such file or directory,讓小王來(lái)幫忙看看是什么情況,小王一頓操作發(fā)現(xiàn)aa.txt是個(gè)鏈接文件,在備份服務(wù)器找到其原文件,不一會(huì)兒,小王就解決了老李查看aa.txt的問(wèn)題,。請(qǐng)說(shuō)明小王是如何解決的。
方法一
1.)通過(guò)描述判斷文件為軟連接文件,因源文件丟失導(dǎo)致無(wú)法訪(fǎng)問(wèn)
2.)確認(rèn)aa.txt路徑,通過(guò)readlink /xxxx/aa.txt確認(rèn)源文件路徑及文件名稱(chēng)
3.)在源文件路徑下還原源文件信息
??安裝文件上傳包yum -y? install?lrzsz
?? rz導(dǎo)入
?? sz導(dǎo)出
4.)mv -u或者mv -f?? /xx/xx.bak? ?/xx/xxx.txt? 移動(dòng)并修改文件名稱(chēng)到指定路徑
方法二
1.)通過(guò)描述判斷文件為軟連接文件,因源文件丟失導(dǎo)致無(wú)法訪(fǎng)問(wèn)
2.)確認(rèn)aa.txt路徑
3.)rm -f aa.txt 刪除鏈接文件
4.)ln -s? /xx/xxx.bak(備份文件)? /xx/aa.txt重新建立軟連接
2.用mail命令給自己的qq郵箱發(fā)送一份周末慰問(wèn)信,截圖給出結(jié)果
1.)安裝郵件系統(tǒng)
Centos安裝 yum -y install postfix;systemctl enable --now postfix
2.)配置郵箱文件? ??
nano /etc/mail.rc
3.)添加自己郵箱配置?
set from=1097744154@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=1097744154@qq.com
set smtp-auth-password=自己的碼
3.) 發(fā)送郵件
[18:22:03 ruan@ruanruan data]$echo `date +%F-%T` `whoami` hello ruan 周末愉快 | mail -s happy 1097744154@qq.com

3、【選做】老李讓小王安裝一個(gè)收集日志的軟件nxlog,需求是不允許root來(lái)運(yùn)行nxlog這個(gè)程序,且被收集access.log其他用戶(hù)無(wú)讀取權(quán)限,三天后access.log會(huì)被nginx服務(wù)更新,即重新生成,文件名不變。為了正常收集,小王應(yīng)該如何做?
(提示,該服務(wù)器已經(jīng)安裝了nxlog軟件與nginx服務(wù),即有nxlog、nginx同名的用戶(hù)與用戶(hù)組)
1.) usermod?-s /bin/false?-g nxlog?nxlog
2.)chmod u=rw-,g=-wx,o=---? access.log?或者chmod?640 access.log
chown -R nginx:nginx? access.log