來自公眾號:馬哥Linux運(yùn)維
作者:馬哥企業(yè)教練團(tuán)隊
1、解釋下什么是GPL,GNU,自由軟件剩蟀?
GPL:(通用公共許可證):一種授權(quán)猖辫,任何人有權(quán)取得、修改伍宦、重新發(fā)布自由軟件的權(quán)力芽死。
GNU:(革奴計劃):目標(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ù)到磁盤時奴拦,由于磁盤速度比較慢兑宇,所以CPU先把數(shù)據(jù)存進(jìn)buffer,
然后CPU去執(zhí)行其他任務(wù)粱坤,buffer中的數(shù)據(jù)會定期寫入磁盤;
當(dāng)CPU需要從磁盤讀入數(shù)據(jù)時瓷产,由于磁盤速度比較慢站玄,
可以把即將用到的數(shù)據(jù)提前存入cache,CPU直接從Cache中拿數(shù)據(jù)要快的多濒旦。
3株旷、描述Linux運(yùn)行級別0-6的各自含義
0:關(guān)機(jī)模式
1:單用戶模式<==破解root密碼
2:無網(wǎng)絡(luò)支持的多用戶模式
3:有網(wǎng)絡(luò)支持的多用戶模式(文本模式,工作中最常用的模式)
4:保留尔邓,未使用
5:有網(wǎng)絡(luò)支持的X-windows支持多用戶模式(桌面)
6: 重新引導(dǎo)系統(tǒng)晾剖,即重啟
4、描述Linux系統(tǒng)從開機(jī)到登陸界面的啟動過程
⑴開機(jī)BIOS自檢梯嗽,加載硬盤齿尽。
⑵讀取MBR,MBR引導(dǎo)。
⑶grub引導(dǎo)菜單(Boot Loader)灯节。
⑷加載內(nèi)核kernel循头。
⑸啟動init進(jìn)程,依據(jù)inittab文件設(shè)定運(yùn)行級別
⑹init進(jìn)程炎疆,執(zhí)行rc.sysinit文件卡骂。
⑺啟動內(nèi)核模塊,執(zhí)行不同級別的腳本程序形入。
⑻執(zhí)行/etc/rc.d/rc.local
⑼啟動mingetty全跨,進(jìn)入系統(tǒng)登陸界面。
5亿遂、描述Linux下軟鏈接和硬鏈接的區(qū)別
在Linux系統(tǒng)中浓若,鏈接分為兩種渺杉,一種是硬鏈接(Hard link),另一種稱為符號鏈接或軟鏈接(Symbolic Link)七嫌。
①默認(rèn)不帶參數(shù)的情況下少办,ln創(chuàng)建的是硬鏈接,帶-s參數(shù)的ln命令創(chuàng)建的是軟鏈接诵原。
②硬鏈接文件與源文件的inode節(jié)點(diǎn)號相同英妓,而軟鏈接文件的inode節(jié)點(diǎn)號,與源文件不同绍赛,
③ln命令不能對目錄創(chuàng)建硬鏈接蔓纠,但可以創(chuàng)建軟鏈接。對目錄的軟鏈接會經(jīng)常使用到吗蚌。
④刪除軟鏈接文件腿倚,對源文件和硬鏈接文件無任何影響。
⑤刪除文件的硬鏈接文件蚯妇,對源文件及軟鏈接文件無任何影響敷燎。
⑥刪除鏈接文件的源文件,對硬鏈接文件無影響箩言,會導(dǎo)致其軟鏈接失效(紅底白字閃爍狀)硬贯。
⑦同時刪除源文件及其硬鏈接文件,整個文件才會被真正的刪除陨收。
⑧很多硬件設(shè)備的快照功能饭豹,使用的就是類似硬鏈接的原理。
⑨軟鏈接可以跨文件系統(tǒng)务漩,硬鏈接不可以跨文件系統(tǒng)拄衰。
6、shell腳本中“$?”標(biāo)記的用途是什么?
在寫一個shell腳本時饵骨,如果你想要檢查前一命令是否執(zhí)行成功翘悉,在if條件中使用“?
0
如果結(jié)束狀態(tài)是0宏悦,說明前一個命令執(zhí)行成功镐确。
root@localhost:~# ls /usr/bin/share
ls: cannot access /usr/bin/share: No such file or directory
root@localhost:~# echo $?
2
如果結(jié)束狀態(tài)不是0,說明命令執(zhí)行失敗饼煞。
7源葫、如何讓history命令顯示具體時間?
$ HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S"
$ export HISTTIMEFORMAT
重新開機(jī)后會還原砖瞧,可以寫/etc/profile
8息堂、用shell統(tǒng)計ip訪問情況,要求分析nginx訪問日志,找出訪問頁面數(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)"
請寫shell實現(xiàn)輸出top10的IP列表床未。
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端口的請求轉(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過高的可能性有哪些渡八?
排查思路:
- 首先排查哪些進(jìn)程cpu占用率高啃洋。通過命令 ps ux
2、假如通過第一步看到一個JAVA進(jìn)程占有資源比較高屎鳍,查看對應(yīng)java進(jìn)程的每個線程的CPU占用率宏娄。通過命令:ps -Lp 15047
3、追蹤線程內(nèi)部逮壁,查看load過高原因孵坚。通過命令:jstack 15047
其他經(jīng)驗:
cpu load的飆升,一方面可能和full gc的次數(shù)增大有關(guān)窥淆,一方面可能和死循環(huán)有關(guān)
11卖宠、描述/etc/fstab 文件中每個字段的含義?
(1)第一列:將被加載的文件系統(tǒng)名忧饭;
(2)第二列:該文件系統(tǒng)的安裝點(diǎn)逗堵;
(3)第三列:文件系統(tǒng)的類型;
(4)第四列:設(shè)置參數(shù)眷昆;
(5)第五列:供備份程序確定上次備份距現(xiàn)在的天數(shù);
(6)第六列:在系統(tǒng)引導(dǎo)時檢測文件系統(tǒng)的順序汁咏。
12亚斋、 如何在打包時排除指定目錄?
$ tar --exclude=/home/dmtsai --exclude=.tar -zcvf myfile.tar.gz /home/ /etc
- 怎么生成隨機(jī)密碼?
mkpasswd -l 8 -C 2 -c 2 -d 4 -s 0
14、如何統(tǒng)計tcp狀態(tài)攘滩?
netstat -an | grep '^tcp' | awk '{++s[ mysqld_safe --user=mysql --skip-grant-tables --skip-networking & use mysql;
mysql> update user set password=password('123123') where user='root';