1躯保、解釋下什么是GPL,GNU,自由軟件旋膳?
GPL:(通用公共許可證):一種授權(quán),任何人有權(quán)取得途事、修改验懊、重新發(fā)布自由軟件的權(quán)力。
GNU:(革奴計(jì)劃):目標(biāo)是創(chuàng)建一套完全自由尸变、開放的的操作系統(tǒng)义图。
自由軟件:是一種可以不受限制地自由使用、復(fù)制振惰、研究歌溉、修改和分發(fā)的軟件。主要許可證有GPL和BSD許可證兩種骑晶。
2、linux系統(tǒng)里草慧,buffer和cache如何區(qū)分桶蛔?
buffer和cache都是內(nèi)存中的一塊區(qū)域,當(dāng)CPU需要寫數(shù)據(jù)到磁盤時(shí)漫谷,由于磁盤速度比較慢仔雷,所以CPU先把數(shù)據(jù)存進(jìn)buffer,然后CPU去執(zhí)行其他任務(wù)舔示,buffer中的數(shù)據(jù)會(huì)定期寫入磁盤碟婆;當(dāng)CPU需要從磁盤讀入數(shù)據(jù)時(shí),由于磁盤速度比較慢惕稻,可以把即將用到的數(shù)據(jù)提前存入cache竖共,CPU直接從Cache中拿數(shù)據(jù)要快的多。
→【免費(fèi)獲取】更多面試資料
3俺祠、描述Linux運(yùn)行級(jí)別0-6的各自含義
0:關(guān)機(jī)模式
1:?jiǎn)斡脩裟J?lt;==破解root密碼
2:無網(wǎng)絡(luò)支持的多用戶模式
3:有網(wǎng)絡(luò)支持的多用戶模式(文本模式公给,工作中最常用的模式)
4:保留借帘,未使用
5:有網(wǎng)絡(luò)支持的X-windows支持多用戶模式(桌面)
6: 重新引導(dǎo)系統(tǒng),即重啟
→【免費(fèi)獲取】更多面試資料
4淌铐、描述Linux系統(tǒng)從開機(jī)到登陸界面的啟動(dòng)過程
⑴開機(jī)BIOS自檢肺然,加載硬盤。
⑵讀取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)登陸界面窖认。
5豫柬、描述Linux下軟鏈接和硬鏈接的區(qū)別
在Linux系統(tǒng)中,鏈接分為兩種扑浸,一種是硬鏈接(Hard link)烧给,另一種稱為符號(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ì)源文件和硬鏈接文件無任何影響平项。
⑤刪除文件的硬鏈接文件,對(duì)源文件及軟鏈接文件無任何影響悍及。
⑥刪除鏈接文件的源文件闽瓢,對(duì)硬鏈接文件無影響,會(huì)導(dǎo)致其軟鏈接失效(紅底白字閃爍狀)心赶。
⑦同時(shí)刪除源文件及其硬鏈接文件扣讼,整個(gè)文件才會(huì)被真正的刪除。
⑧很多硬件設(shè)備的快照功能园担,使用的就是類似硬鏈接的原理届谈。
⑨軟鏈接可以跨文件系統(tǒng)枯夜,硬鏈接不可以跨文件系統(tǒng)。
6艰山、shell腳本中“$?”標(biāo)記的用途是什么?
在寫一個(gè)shell腳本時(shí)湖雹,如果你想要檢查前一命令是否執(zhí)行成功,在if條件中使用“$?”可以來檢查前一命令的結(jié)束狀態(tài)曙搬。簡(jiǎn)單的例子如下:
root@localhost:~# ls /usr/bin/root@localhost:~# echo $?
0
如果結(jié)束狀態(tài)是0摔吏,說明前一個(gè)命令執(zhí)行成功。root@localhost:~# ls /usr/bin/sharels: cannot access /usr/bin/share: No such file or directory
root@localhost:~# echo $?
2
如果結(jié)束狀態(tài)不是0纵装,說明命令執(zhí)行失敗征讲。
7、如何讓history命令顯示具體時(shí)間橡娄?
$?HISTTIMEFORMAT="%Y-%m-%d?%H:%M:%S"
$ export HISTTIMEFORMAT
重新開機(jī)后會(huì)還原诗箍,可以寫/etc/profile
8、用shell統(tǒng)計(jì)ip訪問情況挽唉,要求分析nginx訪問日志滤祖,找出訪問頁(yè)面數(shù)量在前10位的IP數(shù)。以下是nginx的訪問日志節(jié)選
202.101.129.218- - [26/Mar/2006:23:59:55 +0800] "GET /online/stat_inst.php?pid=d065HTTP/1.1" 302 20-"-" "-" "Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1)"
# 請(qǐng)寫shell實(shí)現(xiàn)輸出top10的IP列表瓶籽。
$?awk?'{print?$1}'?access.log?|sort|uniq?-c?|head?-n?10
31?202.101.129.218
21?123.93.29.11
11?13.92.19.31
9匠童、將本地的80端口的請(qǐng)求轉(zhuǎn)發(fā)到8080端口,本機(jī)地址10.0.0.254塑顺,寫出命令
$ iptables?-t?nat?-A?PREROUTING?-d?10.0.0.254?-p?tcp?--dprot?80?-j?DNAT?--to-destination?10.0.0.254:8080
10汤求、Load過高的可能性有哪些?
排查思路:
1严拒、 首先排查哪些進(jìn)程cpu占用率高扬绪。通過命令 ps ux
2、假如通過第一步看到一個(gè)JAVA進(jìn)程占有資源比較高糙俗,查看對(duì)應(yīng)java進(jìn)程的每個(gè)線程的CPU占用率勒奇。通過命令:ps -Lp 15047
3、追蹤線程內(nèi)部巧骚,查看load過高原因。通過命令:jstack 15047
其他經(jīng)驗(yàn):cpu?load的飆升格二,一方面可能和full?gc的次數(shù)增大有關(guān)劈彪,一方面可能和死循環(huán)有關(guān)
11、描述/etc/fstab 文件中每個(gè)字段的含義顶猜?
(1)第一列:將被加載的文件系統(tǒng)名沧奴;
(2)第二列:該文件系統(tǒng)的安裝點(diǎn);
(3)第三列:文件系統(tǒng)的類型长窄;
(4)第四列:設(shè)置參數(shù)滔吠;
(5)第五列:供備份程序確定上次備份距現(xiàn)在的天數(shù)纲菌;
(6)第六列:在系統(tǒng)引導(dǎo)時(shí)檢測(cè)文件系統(tǒng)的順序。
12疮绷、?如何在打包時(shí)排除指定目錄?
$ tar?--exclude=/home/dmtsai?--exclude=*.tar?-zcvf?myfile.tar.gz?/home/*?/etc
13. 怎么生成隨機(jī)密碼?
mkpasswd -l 8? -C 2 -c 2 -d 4 -s 0
14翰舌、如何統(tǒng)計(jì)tcp狀態(tài)?
netstat -an | grep '^tcp' | awk '{++s[$NF]} END{for(i in s) print i "\t"s[i]}'
15冬骚、mysql 忘記 root 密碼怎么辦
$ mysqld_safe?--user=mysql?--skip-grant-tables?--skip-networking?&?use?mysql;
mysql> update?user?set?password=password('123123')?where?user='root';
→【超全Linux學(xué)習(xí)教程】(學(xué)習(xí)路線+課程大綱+視頻教程+面試題+學(xué)習(xí)工具+大廠實(shí)戰(zhàn)手冊(cè))