運(yùn)維必須掌握的27道Linux面試題

1.解釋下什么是GPL,GNU,自由軟件?

GPL:(通用公共許可證):一種授權(quán),任何人有權(quán)取得、修改、重新發(fā)布自由軟件的權(quán)力。

GNU:(革奴計(jì)劃):目標(biāo)是創(chuàng)建一套完全自由、開(kāi)放的的操作系統(tǒng)。

自由軟件:是一種可以不受限制地自由使用、復(fù)制、研究、修改和分發(fā)的軟件。主要許可證有GPL和BSD許可證兩種。

2.如何選擇Linux操作系統(tǒng)版本?

一般來(lái)講,桌面用戶(hù)首選Ubuntu;服務(wù)器首選RHEL或CentOS,兩者中首選CentOS。

根據(jù)具體要求:

①安全性要求較高,則選擇Debian或者FreeBSD。

②需要使用數(shù)據(jù)庫(kù)高級(jí)服務(wù)和電子郵件網(wǎng)絡(luò)應(yīng)用的用戶(hù)可以選擇SUSE。

③想要新技術(shù)新功能功能可以選擇Feddora,F(xiàn)eddora是RHEL和CentOS的一個(gè)測(cè)試版和預(yù)發(fā)布版本。

④根據(jù)現(xiàn)有狀況,絕大多數(shù)互聯(lián)網(wǎng)公司選擇CentOS?,F(xiàn)在比較常用的是6系列,現(xiàn)在市場(chǎng)占有大概一半左右。另外的原因是CentOS更側(cè)重服務(wù)器領(lǐng)域,并且無(wú)版權(quán)約束。

3.初學(xué)者在Linux系統(tǒng)的開(kāi)機(jī)啟動(dòng)項(xiàng)如何選擇?

建議選擇五個(gè)開(kāi)機(jī)啟動(dòng)項(xiàng):

①.crond: 該服務(wù)用于周期地執(zhí)行系統(tǒng)及用戶(hù)配置的計(jì)劃任務(wù)。有要周期性執(zhí)行的任務(wù)計(jì)劃需要開(kāi)啟,此服務(wù)是生產(chǎn)場(chǎng)景必須要用的一個(gè)軟件。

②.iptables: iptables包過(guò)濾防火墻,有外網(wǎng)IP時(shí),考慮開(kāi)啟。

③.network: 啟動(dòng)系統(tǒng)時(shí),若想激活/關(guān)閉啟動(dòng)時(shí)的各個(gè)網(wǎng)絡(luò)接口,則應(yīng)(必須)考慮開(kāi)啟。

④.sshd: 遠(yuǎn)程連接Linux服務(wù)器時(shí)需要用到這個(gè)服務(wù)程序,所以必須要開(kāi)啟,否則將無(wú)法遠(yuǎn)程連接到Linux服務(wù)器。

⑤.rsyslog: 是操作系統(tǒng)提供的一種機(jī)制,系統(tǒng)的守護(hù)程序通常會(huì)使用rsyslog將各種信息收集寫(xiě)入到系統(tǒng)日志文件中,CentOS6以前此服務(wù)的名字為syslog。

⑥.sysstat: 是一個(gè)軟件包,包含監(jiān)測(cè)系統(tǒng)性能及效率的一組工具,這些工具對(duì)于Linux系統(tǒng)性能數(shù)據(jù)很有幫助,比如CPU使用率、硬盤(pán)和網(wǎng)絡(luò)吞吐數(shù)據(jù)等,這些數(shù)據(jù)的分析,有利于判斷系統(tǒng)運(yùn)行是否正常,所以它是提高系統(tǒng)運(yùn)行效率、安全運(yùn)行服務(wù)的助手。

4.請(qǐng)描述Linux系統(tǒng)優(yōu)化的12個(gè)步驟。

⑴登錄系統(tǒng):不使用root登錄,通過(guò)sudo授權(quán)管理,使用普通用戶(hù)登錄。

⑵禁止SSH遠(yuǎn)程:更改默認(rèn)的遠(yuǎn)程連接SSH服務(wù)及禁止root遠(yuǎn)程連接。

⑶時(shí)間同步:定時(shí)自動(dòng)更新服務(wù)器時(shí)間。

⑷配置yum更新源,從國(guó)內(nèi)更新下載安裝rpm包。

⑸關(guān)閉selinux及iptables(iptables工作場(chǎng)景如有wan ip,一般要打開(kāi),高并發(fā)除外)

⑹調(diào)整文件描述符數(shù)量,進(jìn)程及文件的打開(kāi)都會(huì)消耗文件描述符。

⑺定時(shí)自動(dòng)清理/var/spool/clientmquene/目錄垃圾文件,防止節(jié)點(diǎn)被占滿(mǎn)(c6.4默認(rèn)沒(méi)有sendmail,因此可以不配。)

⑻精簡(jiǎn)開(kāi)機(jī)啟動(dòng)服務(wù)(crond、sshd、network、rsyslog)

⑼Linux內(nèi)核參數(shù)優(yōu)化/etc/sysctl.conf,執(zhí)行sysct -p生效。

更改字符集,支持中文,但是還是建議使用英文,防止亂碼問(wèn)題出現(xiàn)。

⑾鎖定關(guān)鍵系統(tǒng)文件(chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab 處理以上內(nèi)容后,把chatter改名,就更安全了。)

⑿清空/etc/issue,去除系統(tǒng)及內(nèi)核版本登陸前的屏幕顯示。

5.描述Linux運(yùn)行級(jí)別0-6的各自含義

0:關(guān)機(jī)模式

1:?jiǎn)斡脩?hù)模式<==破解root密碼

2:無(wú)網(wǎng)絡(luò)支持的多用戶(hù)模式

3:有網(wǎng)絡(luò)支持的多用戶(hù)模式(文本模式,工作中最常用的模式)

4:保留,未使用

5:有網(wǎng)絡(luò)支持的X-windows支持多用戶(hù)模式(桌面)

6: 重新引導(dǎo)系統(tǒng),即重啟

6.描述Linux系統(tǒng)從開(kāi)機(jī)到登陸界面的啟動(dòng)過(guò)程

⑴開(kāi)機(jī)BIOS自檢,加載硬盤(pán)。

⑵讀取MBR,MBR引導(dǎo)。

⑶grub引導(dǎo)菜單(Boot Loader)。

⑷加載內(nèi)核kernel。

⑸啟動(dòng)init進(jìn)程,依據(jù)inittab文件設(shè)定運(yùn)行級(jí)別

⑹init進(jìn)程,執(zhí)行rc.sysinit文件。

⑺啟動(dòng)內(nèi)核模塊,執(zhí)行不同級(jí)別的腳本程序。

⑻執(zhí)行/etc/rc.d/rc.local

⑼啟動(dòng)mingetty,進(jìn)入系統(tǒng)登陸界面。

7.描述Linux下軟鏈接和硬鏈接的區(qū)別

在Linux系統(tǒng)中,鏈接分為兩種,一種是硬鏈接(Hard link),另一種稱(chēng)為符號(hào)鏈接或軟鏈接(Symbolic Link)。

①默認(rèn)不帶參數(shù)的情況下,ln創(chuàng)建的是硬鏈接,帶-s參數(shù)的ln命令創(chuàng)建的是軟鏈接。

②硬鏈接文件與源文件的inode節(jié)點(diǎn)號(hào)相同,而軟鏈接文件的inode節(jié)點(diǎn)號(hào),與源文件不同,

③ln命令不能對(duì)目錄創(chuàng)建硬鏈接,但可以創(chuàng)建軟鏈接。對(duì)目錄的軟鏈接會(huì)經(jīng)常使用到。

④刪除軟鏈接文件,對(duì)源文件和硬鏈接文件無(wú)任何影響。

⑤刪除文件的硬鏈接文件,對(duì)源文件及軟鏈接文件無(wú)任何影響。

⑥刪除鏈接文件的源文件,對(duì)硬鏈接文件無(wú)影響,會(huì)導(dǎo)致其軟鏈接失效(紅底白字閃爍狀)。

⑦同時(shí)刪除源文件及其硬鏈接文件,整個(gè)文件才會(huì)被真正的刪除。

⑧很多硬件設(shè)備的快照功能,使用的就是類(lèi)似硬鏈接的原理。

⑨軟鏈接可以跨文件系統(tǒng),硬鏈接不可以跨文件系統(tǒng)。

8.生產(chǎn)場(chǎng)景如何對(duì)linux系統(tǒng)進(jìn)行合理規(guī)劃分區(qū)?

分區(qū)的根本原則是簡(jiǎn)單、易用、方便批量管理。根據(jù)服務(wù)器角色定位建議如下:

①單機(jī)服務(wù)器:如8G內(nèi)存,300G硬盤(pán)

分區(qū): /boot 100-200M,swap 16G,內(nèi)存大小8G*2,/ 80G,/var 20G(也可不分),/data 180G(存放web及db數(shù)據(jù))

優(yōu)點(diǎn):數(shù)據(jù)盤(pán)和系統(tǒng)盤(pán)分開(kāi),有利于出問(wèn)題時(shí)維護(hù)。

RAID方案:視數(shù)據(jù)及性能要求,一般可采用raid5折中。

②負(fù)載均衡器(如LVS等)

分區(qū):/boot 100-200M,swap 內(nèi)存的1-2倍,/ ,

優(yōu)點(diǎn):簡(jiǎn)單方便,只做轉(zhuǎn)發(fā)數(shù)據(jù)量很少。

RAID方案:數(shù)據(jù)量小,重要性高,可采用RAID1

③負(fù)載均衡下的RS server

分區(qū): /boot 100-200M,swap 內(nèi)存的1-2倍,/

優(yōu)點(diǎn):簡(jiǎn)單方便,因?yàn)橛卸鄼C(jī),對(duì)數(shù)據(jù)要求低。

RAID方案:數(shù)據(jù)量大,重要性不高,有性能要求,數(shù)據(jù)要求低,可采用RAID0

④數(shù)據(jù)庫(kù)服務(wù)器mysql及oracle如16/32G內(nèi)存

分區(qū):/boot 100-200M,swap 16G,內(nèi)存的1倍,/ 100G,/data 剩余(存放db數(shù)據(jù))

優(yōu)點(diǎn):數(shù)據(jù)盤(pán)和系統(tǒng)盤(pán)分開(kāi),有利于出問(wèn)題時(shí)維護(hù),及保持?jǐn)?shù)據(jù)完整。

RAID方案:視數(shù)據(jù)及性能要求主庫(kù)可采取raid10/raid5,從庫(kù)可采用raid0提高性能(讀寫(xiě)分離的情況下。)

⑤存儲(chǔ)服務(wù)器

分區(qū):/boot 100-200M,swap 內(nèi)存的1-2倍,/ 100G,/data(存放數(shù)據(jù))

優(yōu)點(diǎn):此服務(wù)器不要分區(qū)太多。只做備份,性能要求低。容量要大。

RAID方案:可采取sata盤(pán),raid5

⑥共享存儲(chǔ)服務(wù)器(如NFS)

分區(qū):/boot 100-200M,swap 內(nèi)存的1-2倍,/ 100G,/data(存放數(shù)據(jù))

優(yōu)點(diǎn):此服務(wù)器不要分區(qū)太多。NFS共享比存儲(chǔ)多的要求就是性能要求。

RAID方案:視性能及訪問(wèn)要求可以raid5,raid10,甚至raid0(要有高可用或雙寫(xiě)方案)

⑦監(jiān)控服務(wù)器cacti,nagios

分區(qū):/boot 100-200M,swap 內(nèi)存的1-2倍,/

優(yōu)點(diǎn):重要性一般,數(shù)據(jù)要求也一般。

RAID方案:?jiǎn)伪P(pán)或雙盤(pán)raid1即可。三盤(pán)就RAID5,看容量要求加盤(pán)即可。

9.描述Linux下文件刪除的原理

Linux系統(tǒng)是通過(guò)link的數(shù)量來(lái)控制文件刪除的,只有當(dāng)一個(gè)文件不存在任何link的時(shí)候,這個(gè)文件才會(huì)被刪除。一般來(lái)說(shuō)每個(gè)文件兩個(gè)link計(jì)數(shù)器來(lái)控制i_count和i_nlink。當(dāng)一個(gè)文件被一個(gè)程序占用的時(shí)候i_count就加1。當(dāng)文件的硬鏈接多一個(gè)的時(shí)候i_nlink也加1。刪除一個(gè)文件,就是讓這個(gè)文件,沒(méi)有進(jìn)程占用,同時(shí)i_link數(shù)量為0。

10.請(qǐng)簡(jiǎn)單描述VI編輯器的使用

①vi編輯器是linux系統(tǒng)下最最基本和最常用的標(biāo)準(zhǔn)文本編輯器。

②vi編輯器有三種工作模式:普通模式、編輯模式、命令模式。

③普通模式下的鍵盤(pán)輸入任何字符都是當(dāng)作命令來(lái)執(zhí)行的,也可以輸入命令進(jìn)行光標(biāo)的移動(dòng),字符、單詞、行的復(fù)制、粘帖以及刪除等操作。

④編輯模式主要用于文本的輸入。在該模式下,用戶(hù)輸入的任何字符都被作為文件的內(nèi)容保存起來(lái)。

⑤命令模式下,用戶(hù)可以對(duì)文件進(jìn)行一些如字符串查找、替換、顯示行號(hào)等操作還是必須要進(jìn)入命令模式的。

⑥在普通模式下輸入冒號(hào)即可進(jìn)入命令模式,此時(shí)vi窗口的狀態(tài)行會(huì)顯示出冒號(hào),等待用戶(hù)輸入命令。“i”插入模式,即可以進(jìn)行編輯。用戶(hù)輸入完成后,按【Esc】之后編輯器又返回到普通模式下,在命令模式下,保存退出,可以使用的命令為wq和x。前面加!表示強(qiáng)制退出,強(qiáng)制保存等。

11.請(qǐng)簡(jiǎn)單說(shuō)出用戶(hù)管理的相關(guān)命令及用途

組管理命令

groupadd #添加組

groupdel #刪除用戶(hù)組

groupmod #修改用戶(hù)組

groups #顯示當(dāng)前用戶(hù)所屬的用戶(hù)組

grpck #檢查用戶(hù)組及密碼文件的完整性(etc/group以及/etc/gshadow文件)

grpconv #通過(guò)/etc/group和/etc/gshadow 的文件內(nèi)容來(lái)同步或創(chuàng)建/etc/gshadow ,如果/etc/gshadow 不存在則創(chuàng)建;

grpunconv #通過(guò)/etc/group 和/etc/gshadow 文件內(nèi)容來(lái)同步或創(chuàng)建/etc/group ,然后刪除gshadow文件 。

用戶(hù)管理命令

useradd #添加用戶(hù)

adduser #添加用戶(hù)

passwd #為用戶(hù)設(shè)置密碼

usermod #修改用戶(hù)命令,可以通過(guò)usermod 來(lái)修改登錄名、用戶(hù)的家目錄等等

pwcov #同步用戶(hù)從/etc/passwd 到/etc/shadow

pwck #pwck是校驗(yàn)用戶(hù)配置文件/etc/passwd 和/etc/shadow文件內(nèi)容是否合法或完整

pwunconv #執(zhí)行pwunconv指令可以關(guān)閉用戶(hù)投影密碼,它會(huì)把密碼從shadow文件內(nèi),重回存到passwd文件里。

finger #查看用戶(hù)信息工具(危險(xiǎn)命令,一般不用)

id #查看用戶(hù)的UID、GID及所歸屬的用戶(hù)組

chfn #更改用戶(hù)信息工具

su #用戶(hù)切換工具

12.請(qǐng)簡(jiǎn)述基礎(chǔ)正則表達(dá)式grep高級(jí)參數(shù)的使用

常用參數(shù):

-v排除匹配內(nèi)容,

-e支持?jǐn)U展的正則表達(dá)式,

-i忽略大小寫(xiě),

-o輸出匹配的內(nèi)容(只是一塊,不是行),

--color=auto 匹配內(nèi)容顯示顏色,

-n 在行首顯示行號(hào)。

特殊字符注意事項(xiàng):

^(尖括號(hào))word :表示搜索以word開(kāi)頭的內(nèi)容。

word$ 表示搜索以word結(jié)尾的內(nèi)容。

^$ 表示的是空行,不是空格。

. 代表且只能代表任意一個(gè)字符。非正則表達(dá)式其他功能(當(dāng)前目錄,加載文件)

\ 轉(zhuǎn)義字符,讓有著特殊身份意義的字符,脫掉馬甲,還原原型。例如.只表示原始小數(shù)點(diǎn)意義。

  • 表示重復(fù)0個(gè)或多個(gè)前面的一個(gè)字符。不代表所有。

.* 表示匹配所有的字符。^.*表示以任意字符開(kāi)頭。

[任意字符如abc] 匹配字符集內(nèi)任意一個(gè)字符[a-z]。 [^abc] ^在中括號(hào)里面是非的意思,不包含之意。意思就是不包含a或b或c的行。

{n,m} 表示重復(fù)n到m次前一個(gè)字符。{n}至少n次,多了不限。{n}N次,{,m}至多m次,少了不限。

注:使用grep或sed要對(duì){}轉(zhuǎn)義。即\{\}.egrep就不需要轉(zhuǎn)義了。

13.請(qǐng)簡(jiǎn)述基礎(chǔ)正則表達(dá)式sed高級(jí)參數(shù)的使用

解答:

-n取消默認(rèn)輸出

-p 打印

-d刪除

-e允許多項(xiàng)編輯

sed取行,要特別注意sed -n 's###g' filename 的使用,sed的的功能可以記住正則表達(dá)式的一部分,其中,\1為第一個(gè)記住的模式即第一個(gè)小括號(hào)中的匹配內(nèi)容,\2第二記住的模式,即第二個(gè)小括號(hào)中的匹配內(nèi)容,sed最多可以記住9個(gè)。

實(shí)際字符的選取最好要唯一,正則表達(dá)式是貪婪的,總是盡可能的匹配更遠(yuǎn)的符合匹配的內(nèi)容。另外注意字符串中的空格。

14.請(qǐng)給出查看當(dāng)前哪些用戶(hù)在線的Linux命令

w #顯示目前系統(tǒng)登錄用戶(hù)

who #顯示目前已登錄用戶(hù)信息

last #列出目前與過(guò)去登入系統(tǒng)的用戶(hù)相關(guān)信息

lastlog #檢查某特定用戶(hù)上次登錄時(shí)間

whoami #打印與當(dāng)前生效的用戶(hù)ID關(guān)聯(lián)的用戶(hù)名

finger #用戶(hù)信息查找程序

id #顯示指定用戶(hù)或當(dāng)前用戶(hù)的用戶(hù)與組信息

15.請(qǐng)你描述下crontab的作用和語(yǔ)法,以及書(shū)寫(xiě)定時(shí)任務(wù)注意的要點(diǎn)。

設(shè)置crontab后我們可以使得Linux主動(dòng)執(zhí)行的在固定的間隔時(shí)間,執(zhí)行指定的系統(tǒng)指令或 shell script腳本。生產(chǎn)環(huán)境可以用來(lái)日志分析或生產(chǎn)備份等。

語(yǔ)法格式:

crontab [ -u user ] file ===》-u的意思就是指定用戶(hù)

crontab [ -u user ] { -l 顯示文件內(nèi)容| -r全部刪除crontab文件 | -e 編輯crontab文件| -i刪除crontab文件前確認(rèn)提示}

舉例:

*/5 10,12 * 3-8 * * /usr/sbin/ntpdate 10.0.0.155 >/dev/null 2>&1

前五段是時(shí)間間隔的設(shè)定,單位分別是分鐘、小時(shí)、日、月、周(盡量避免使用日月和周同時(shí)出現(xiàn),以免造成系統(tǒng)誤判)。

第一個(gè)時(shí)間段 分鐘 范圍0-59

第二個(gè)時(shí)間段 小時(shí) 范圍0-23

第三個(gè)世間段 日 范圍1-31

第四個(gè)時(shí)間段 月 范圍1-12

第五個(gè)時(shí)間段 周 范圍0-7

*星號(hào)代表任何時(shí)間都接受命令

,逗號(hào),表示隔開(kāi)。代表分隔的時(shí)間都適用此命令。

  • 減號(hào),兩個(gè)時(shí)間段之間,代表在此時(shí)間段內(nèi)執(zhí)行定時(shí)任務(wù)。

/n斜線和n(數(shù)字)表示每隔n段時(shí)間執(zhí)行一次。

注意要點(diǎn)分為:書(shū)寫(xiě)基本要領(lǐng)與書(shū)寫(xiě)注意事項(xiàng)

7個(gè)基本要領(lǐng):

第一、為定時(shí)任務(wù)規(guī)則加必要的注釋

第二、定時(shí)任務(wù)命令或程序最好寫(xiě)到腳本里執(zhí)行

第三、定時(shí)任務(wù)執(zhí)行的腳本要規(guī)范路徑,如:/server/scripts

第四、執(zhí)行shell腳本任務(wù)時(shí)前加/bin/sh

執(zhí)行定時(shí)任務(wù)時(shí),如果是執(zhí)行腳本,盡量在腳本前面帶上/bin/sh命名

第五、定時(shí)任務(wù)結(jié)尾加 >/dev/null 2>&1

第六、/dev/null為特殊的字符設(shè)備文件,表示黑洞設(shè)備或空設(shè)備。

第七、有關(guān)重定向的說(shuō)明

或1> 輸出重定向:把前面輸出的東西輸入到后邊的文件中,會(huì)刪除文件原有內(nèi)容。

或1>> 追加重定向:把前面輸出的東西追加到后邊的文件中,不會(huì)刪除文件原有內(nèi)容。

<或<0 輸入重定向:輸入重定向用于改變命令的輸入,指定輸入內(nèi)容,后跟文件名。

<<或<<0 輸入重定向:后跟字符串,用來(lái)表示“輸入結(jié)束”,也可用ctrl+d來(lái)結(jié)束輸入。

2> 錯(cuò)誤重定向:把錯(cuò)誤信息輸入到后邊的文件中,會(huì)刪除文件原有內(nèi)容。

2>> 錯(cuò)誤追加重定向:把錯(cuò)誤信息追加到后邊的文件中,不會(huì)刪除文件原有內(nèi)容。

標(biāo)準(zhǔn)輸入(stdin):代碼為0,使用<或<<。

標(biāo)準(zhǔn)輸出(stdout):代碼為1,使用>或>>。正常的輸出。

標(biāo)準(zhǔn)錯(cuò)誤輸出(sederr):代碼為2,使用2>或2>>。

特殊:

2>&1就是把標(biāo)準(zhǔn)錯(cuò)誤重定向到標(biāo)準(zhǔn)輸出(>&)。

/dev/null 2>&1 等價(jià)于 1>/dev/null 2>/dev/null

16.請(qǐng)列出Linux中你認(rèn)為重要的文件夾及包含內(nèi)容

① /目錄下的文件夾里面分別是以下內(nèi)容:

/usr 包含所有的命令和程序庫(kù)、文檔和其他文件及當(dāng)前l(fā)inux發(fā)行版的主要應(yīng)用程序

/var 包含正在操作的文件,還有記錄文件、加密文件、臨時(shí)文件等

/home 除了root用戶(hù)外的所有用戶(hù)的配置文件,個(gè)性化文件和主目錄,即家目錄

/proc 虛擬目錄,該目錄實(shí)際上指向內(nèi)存而不是硬盤(pán)

/bin 系統(tǒng)執(zhí)行文件(二進(jìn)制文件)普通用戶(hù)可以使用

/sbin 系統(tǒng)執(zhí)行文件(二進(jìn)制文件)不能被普通用戶(hù)使用,通常由root用戶(hù)使用

/etc 操作系統(tǒng)的配置文件

/root root用戶(hù)的家目錄

/dev 系統(tǒng)設(shè)備文件,linux所有設(shè)備都是以文件的形式被處理,該目錄不包含驅(qū)動(dòng)程序

/lib 程序和核心模塊共享庫(kù)(僅限于/下的程序)

/boot 系統(tǒng)引導(dǎo)、啟動(dòng)文件,通常grub也在這里

/opt 可選應(yīng)用程序目錄

/tmp 臨時(shí)文件,系統(tǒng)會(huì)自動(dòng)清理

/lost+found 恢復(fù)文件(類(lèi)似回收站)

/media 所有的磁盤(pán)(有時(shí)有光盤(pán))將以文件夾的形式掛載,光盤(pán)鏡像也可以?huà)燧d

/cd-rom 掛載光盤(pán)的地方

② /usr目錄下的文件比較重要,其作用下面分類(lèi)列出:

/usr/X11 X-windows桌面環(huán)境

/usr/doc linux系統(tǒng)的文檔資料

/usr/share 獨(dú)立于當(dāng)前計(jì)算機(jī)的數(shù)據(jù)結(jié)構(gòu),如字典中的詞

/usr/bin 類(lèi)似/bin但是不參與啟動(dòng),大部分命令都在這里

/usr/local 本地管理員安裝的應(yīng)用程序

/usr/local/bin 用戶(hù)安裝的應(yīng)用程序(部分)

③ /proc目錄的內(nèi)容

/proc/cpuinfo 處理器的信息

/proc/devices 當(dāng)前運(yùn)行內(nèi)核的所有設(shè)備清單

/proc/dma 當(dāng)前正在使用中的DMA通道

/proc/filesystem 當(dāng)前運(yùn)行內(nèi)核所配置的文件系統(tǒng)

/proc/interrupts 當(dāng)前使用的中斷和曾經(jīng)有多少個(gè)中斷

/proc/ioports 正在使用的I/O端口

17.給出正確的關(guān)機(jī)和重啟服務(wù)器的命令

⑴shutdown

[-t] 指定在多長(zhǎng)時(shí)間之后關(guān)閉系統(tǒng) [-r] 重啟系統(tǒng) [-k] 并不真正關(guān)機(jī),只是給每個(gè)登錄用戶(hù)發(fā)送警告信號(hào) [-h] 關(guān)閉系統(tǒng)(halt)

⑵halt

halt是最簡(jiǎn)單的關(guān)機(jī)命令,其實(shí)際上是調(diào)用shutdown -h命令。halt執(zhí)行時(shí),殺死應(yīng)用進(jìn)程,文件系統(tǒng)寫(xiě)操作完成后就會(huì)停止內(nèi)核。

halt命令的部分參數(shù)如下:

[-f] 沒(méi)有調(diào)用shutdown而強(qiáng)制關(guān)機(jī)或重啟 [-i] 關(guān)機(jī)或重新啟動(dòng)之前,關(guān)掉所有的網(wǎng)絡(luò)接口 [-p] 關(guān)機(jī)時(shí)調(diào)用poweroff,此選項(xiàng)為缺省選項(xiàng)

⑶reboot

reboot工作過(guò)程與halt類(lèi)似,作用是重新啟動(dòng),而halt是關(guān)機(jī)。其參數(shù)與halt類(lèi)似。

⑷init

init是所有進(jìn)程的祖先,其進(jìn)程號(hào)始終為1。init用于切換系統(tǒng)的運(yùn)行級(jí)別,切換的工作是立即完成的。init 0命令用于立即將系統(tǒng)運(yùn)行級(jí)別切換為0,即關(guān)機(jī);init 6命令用于將系統(tǒng)運(yùn)行級(jí)別切換為6,即重新啟動(dòng)。

18.請(qǐng)簡(jiǎn)述修改/etc/sudoers配置文件的注意事項(xiàng)

①別名的名稱(chēng)可以包含大寫(xiě)字母。數(shù)字、下劃線。如果是字母必須要大寫(xiě),(別名為一群擁有相同屬性的集合)。

②一個(gè)別名下面可以有多個(gè)成員,成員間通過(guò)半角(,)逗號(hào)隔開(kāi)。成員必須有效實(shí)際存在。

別名成員受別名類(lèi)型 Host_Alias、User_Alias、Runas_Alias、Cmnd_Alias制約,定義什么類(lèi)型的別名,就要有相什么類(lèi)型的成員匹配。

③用戶(hù)組前面必須加%號(hào)。命令別名下的成員必須是文件或目錄的絕對(duì)路徑。

④指定切換用戶(hù)要用()括號(hào)括起來(lái),如果省略,則默認(rèn)root用戶(hù),如果括號(hào)里是ALL,則代表能切換到所有用戶(hù)。

⑤命令路徑要使用全路徑。

⑥別名規(guī)則每行算一個(gè)規(guī)則,一行容不下時(shí)用\續(xù)行。另外超過(guò)一行,用反斜線換行。

⑦一般不建議先給all權(quán)限,后面排除。用什么權(quán)限,就給什么權(quán)限。(注意權(quán)限,語(yǔ)法)。

如果不需要密碼直接運(yùn)行命令的應(yīng)該加NOPASSWD參數(shù)。

⑧禁止某類(lèi)程序或命令執(zhí)行,要在命令動(dòng)作前面加上“!”號(hào),并放在允許執(zhí)行命令之后。

19.請(qǐng)描述如何實(shí)現(xiàn)linux系統(tǒng)集權(quán)分治的權(quán)限分級(jí)精細(xì)管理?

① 收集以及制定用戶(hù)和權(quán)限的匹配信息,原則是給于最小權(quán)限,但是又能完成所承擔(dān)的工作職責(zé)。

② 各個(gè)用戶(hù)組設(shè)置對(duì)應(yīng)權(quán)限,用什么給什么,精細(xì)到每一條指令上根據(jù)分組情況。

③ 創(chuàng)建規(guī)劃?rùn)?quán)限分組的用戶(hù).添加相關(guān)用戶(hù)組。并修改etc/sudoers配置文件。

④ 增加sudo的權(quán)限開(kāi)放,確定相關(guān)用戶(hù)加入如soduers權(quán)限列表,并詳細(xì)設(shè)置所開(kāi)放權(quán)限內(nèi)容,并選擇是否需要密碼的相關(guān)執(zhí)行權(quán)限開(kāi)放。(注意ALL權(quán)限,以及密碼修改權(quán)限設(shè)置)。

⑤ 不建議先給all權(quán)限,后面排除。建議使用白名單。

⑥實(shí)戰(zhàn)調(diào)試測(cè)試相關(guān)權(quán)限是否正確配置完成。

⑦編寫(xiě)操作說(shuō)明,及相關(guān)注意事項(xiàng)。

⑧調(diào)試完畢,郵件周知所有相關(guān)人員系統(tǒng)權(quán)限設(shè)置生效,并附帶操作說(shuō)明及相關(guān)注意事項(xiàng)。

20.請(qǐng)寫(xiě)出下面Linux SecureCRT命令行快捷鍵命令的功能?

Ctrl + a 光標(biāo)到開(kāi)頭

Ctrl + c 中斷當(dāng)前程序

Ctrl + d 退出當(dāng)前窗口或當(dāng)前用戶(hù)

Ctrl + e 光標(biāo)到結(jié)尾

Ctrl + l 清屏 相當(dāng)與clear

Ctrl + u 剪切、刪除(光標(biāo)以前的)內(nèi)容

Ctrl + k 剪切、刪除(光標(biāo)以后的)內(nèi)容

Ctrl + r 查找(最近用過(guò)的命令)

tab 所有路徑以及補(bǔ)全命令

Ctrl+shift+c 命令行復(fù)制內(nèi)容

Ctrl+shift+v 命令行粘貼內(nèi)容

Ctrl + q 取消屏幕鎖定

Ctrl + s 執(zhí)行屏幕鎖定

21.請(qǐng)描述服務(wù)器賬戶(hù)日志審計(jì)的5種解決方案。

⑴通過(guò)環(huán)境變量syslog對(duì)全部全部日志進(jìn)行審計(jì)(信息量太大,不推薦)

⑵sudo配合syslog服務(wù),進(jìn)行sudo操作日志進(jìn)行審計(jì)(信息較少,效果不錯(cuò))

⑶在bash解釋器嵌入一個(gè)監(jiān)視器,讓所有用戶(hù)使用修改過(guò)的bash程序,作為解釋程序。

⑷齊治的堡壘機(jī)(商業(yè)產(chǎn)品)。

22.如果一臺(tái)辦公室內(nèi)主機(jī)無(wú)法上網(wǎng)(打不開(kāi)網(wǎng)站),請(qǐng)給出你的排查步驟?

①首先確定物理鏈路是否聯(lián)通正常。

②查看本機(jī)IP,路由,DNS的設(shè)置情況是否達(dá)標(biāo)。

③telnet檢查服務(wù)器的WEB有沒(méi)有開(kāi)啟以及防火墻是否阻攔。

④ping一下網(wǎng)關(guān),進(jìn)行最基礎(chǔ)的檢查,通了,表示能夠到達(dá)服務(wù)器。

⑤測(cè)試到網(wǎng)關(guān)或路由器的通常情況,先測(cè)網(wǎng)關(guān),然后再測(cè)路由器一級(jí)一級(jí)的測(cè)試。

⑥測(cè)試ping公網(wǎng)ip的通常情況(記住幾個(gè)外部IP),

⑦測(cè)試DNS的通暢。ping出對(duì)應(yīng)IP。

⑧通過(guò)以上檢查后,還在網(wǎng)管的路由器上進(jìn)行檢查。

23.描述Linux shell中單引號(hào)、雙引號(hào)及不加引號(hào)的簡(jiǎn)單區(qū)別

單引號(hào):所見(jiàn)即所得,即將單引號(hào)內(nèi)的內(nèi)容原樣輸出,或者描述為單引號(hào)里面看到的是什么就輸出什么。

雙引號(hào):把雙引號(hào)里面的內(nèi)容給輸出出來(lái),如果內(nèi)容中有命令、變量等,會(huì)先把,變來(lái)那個(gè)、命令解析出結(jié)果,然后輸出最終內(nèi)容。

雙引號(hào)內(nèi)的命令或者變量寫(xiě)法’命令或變量’或$(命令或變量)

無(wú)引號(hào):把內(nèi)容輸出出來(lái),可能不會(huì)鍵含有空格的字符串,視為一個(gè)整體輸出,如果內(nèi)容中有命令、變量等,會(huì)先把變量、命令解析出來(lái),然后輸出最終內(nèi)容,如果字符串中帶有空格等特殊字符,則不能完整輸出,需要改加雙引號(hào)。一般連續(xù)的字符串,數(shù)字,路徑等可以用,不過(guò)最好用雙引號(hào),替代之。

24.請(qǐng)簡(jiǎn)述Linux啟動(dòng)過(guò)程中幾個(gè)重要配置文件的執(zhí)行過(guò)程

Linux 登錄后,配置執(zhí)行順序?yàn)?Debian Serials Capable):

/etc/environment -> /etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout

關(guān)于各個(gè)文件的作用說(shuō)明:

(1)/etc/environment:此配置文件設(shè)置基本的PATH變量,及系統(tǒng)當(dāng)前語(yǔ)言變量,雖然比較短,但卻在系統(tǒng)啟動(dòng)中占據(jù)舉足輕重的作用,比如如下是我的系統(tǒng)中的內(nèi)容:

(2)/etc/profile: 此文件為系統(tǒng)的每個(gè)用戶(hù)設(shè)置環(huán)境信息,當(dāng)用戶(hù)第一次登錄時(shí),該文件被執(zhí)行. 并從/etc/profile.d目錄的配置文件中搜集shell的設(shè)置。

(3)/etc/bash.bashrc: 為每一個(gè)運(yùn)行bash shell的用戶(hù)執(zhí)行此文件.當(dāng)bash shell被打開(kāi)時(shí),該文件被讀取。

(4)~/.bash_profile: 每個(gè)用戶(hù)都可使用該文件輸入專(zhuān)用于自己使用的shell信息,當(dāng)用戶(hù)登錄時(shí),該文件僅僅執(zhí)行一次!默認(rèn)情況下,他設(shè)置一些環(huán)境變量,執(zhí)行用戶(hù)的.bashrc文件。

(5)~/.bashrc: 該文件包含專(zhuān)用于你的bash shell的bash信息,當(dāng)?shù)卿洉r(shí)以及每次打開(kāi)新的shell時(shí),該該文件被讀取。

(6)~/.bash_logout: 當(dāng)每次退出系統(tǒng)(退出bash shell)時(shí),執(zhí)行該文件. 另外,/etc/profile中設(shè)定的變量(全局)的可以作用于任何用戶(hù),而~/.bashrc等中設(shè)定的變量(局部)只能繼承 /etc/profile中的變量,他們是"父子"關(guān)系。

(7)~/.bash_profile 是交互式、login 方式進(jìn)入 bash 運(yùn)行的~/.bashrc 是交互式 non-login 方式進(jìn)入 bash 運(yùn)行的通常二者設(shè)置大致相同,所以通常前者會(huì)調(diào)用后者。

25.請(qǐng)描述下列路徑的內(nèi)容是做什么的?

/var/log/messages 系統(tǒng)日志文件

/var/log/secure 系統(tǒng)安全文件(顯示登錄信息的文件)

/var/spool/clientmqueue 例行性任務(wù)回執(zhí)郵件存放文件

/proc/interrupts 當(dāng)前系統(tǒng)中斷報(bào)告文件

/etc/fstab 開(kāi)機(jī)自動(dòng)掛載磁盤(pán)的配置文件

/etc/profile 環(huán)境變量存放的文件

26.請(qǐng)給出Linux中eth0的IP地址和廣播地址的指令,需使用cut、awk、grep、sed指令。

第一種方法:使用grep和cut取值

第二種方法:使用grep和awk(默認(rèn)分隔符為空格)取值

第三種方法:使用grep和awk(多分隔符)

第四種方法:使用sed和awk

第五種方法:使用grep和awk(多分隔符與加號(hào)+)

第六種方法:awk (分隔符及取行)

第七種方法:grep 網(wǎng)卡文件

第八種方法:head取行 awk分割

27.請(qǐng)輸出你知道的20 個(gè)LINUX 命令及作用

cp 復(fù)制 -a(drp),-r拷貝目錄 -p保持屬性
mv 移動(dòng)文件或目錄
mkdir 創(chuàng)建目錄 -p遞歸創(chuàng)建目錄 mkdir /a/b/c
touch 創(chuàng)建文件,
cd 切換目錄(~當(dāng)前用戶(hù)家目錄,-上一次的目錄)
cat 查看文件內(nèi)容 -n顯示行號(hào)
ls 查看目錄下文件,-l長(zhǎng)格式,-d查看目錄**********
rm 刪除文件或目錄 -r目錄 -f強(qiáng)制刪除(慎用,mv,find)
find 查找文件或目錄 -type 類(lèi)型(f,d,l,c,b),-name名字 -exec執(zhí)行動(dòng)作*****
alias 查看及設(shè)置別名
unalias 取消別名
seq 打印序列 -s指定分割符 -w數(shù)字前面加0補(bǔ)齊位數(shù)
head 查看文件前N行,默認(rèn)10行,-n指定行數(shù)
tail 查看文件后N行,默認(rèn)10行,-n指定行數(shù),-f實(shí)時(shí)跟蹤文件結(jié)尾的變化
sed linux三劍客老二,文件增刪改查,*****
pwd打印當(dāng)前工作目錄
rmdir 刪除空目錄
echo 顯示輸出
xargs (配合find,ls)等查找到的內(nèi)容處理,-n分組
tree -L層數(shù) -d目錄
rpm -q query查詢(xún) -a all
uname -r內(nèi)核 -m32位還是64位 -a所有信息, -n主機(jī)名(hostname)
hostname 主機(jī)名
whoami 查看當(dāng)前用戶(hù)
useradd 添加用戶(hù)
passwd 改密碼,--stdin 非交互設(shè)置密碼
su 切換用戶(hù)角色,-切換環(huán)境變量

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容