1、解釋下什么是GPL,GNU,自由軟件?
為企業(yè)提供成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司、網(wǎng)站優(yōu)化、成都營銷網(wǎng)站建設(shè)、競(jìng)價(jià)托管、品牌運(yùn)營等營銷獲客服務(wù)。創(chuàng)新互聯(lián)擁有網(wǎng)絡(luò)營銷運(yùn)營團(tuán)隊(duì),以豐富的互聯(lián)網(wǎng)營銷經(jīng)驗(yàn)助力企業(yè)精準(zhǔn)獲客,真正落地解決中小企業(yè)營銷獲客難題,做到“讓獲客更簡(jiǎn)單”。自創(chuàng)立至今,成功用技術(shù)實(shí)力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營銷”三大難題,同時(shí)降低了營銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認(rèn)可!
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ù)要快的多。
3、描述Linux運(yùn)行級(jí)別0-6的各自含義
0:關(guān)機(jī)模式
1:?jiǎn)斡脩裟J?=破解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ī)到登陸界面的啟動(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)是0,說明前一個(gè)命令執(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命令顯示具體時(shí)間?
$ HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S"
$ export HISTTIMEFORMAT
重新開機(jī)后會(huì)還原,可以寫/etc/profile
8、用shell統(tǒng)計(jì)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)"
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過高的可能性有哪些?
排查思路:
其他經(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
mysql update user set password=password('123123') where user='root';
一、簡(jiǎn)答題
1.如何將本地80端口的請(qǐng)求轉(zhuǎn)發(fā)到8080端口,當(dāng)前主機(jī)IP為192.168.16.1,其中本地網(wǎng)卡eth0:
答:# iptables -t nat -A PREROUTING -d 192.168.16.1 -p tcp --dport 80 -j DNAT --to 192.168.16.1:8080
或 者:# iptables -t nat -A PREROUTING -i eth0 -d 192.168.16.1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
2.什么是NAT,常見分為那幾種,DNAT與SNAT有什么不同,應(yīng)用事例有那些?
SNAT,DNAT,MASQUERADE都是NAT。
MASQUERADE是SNAT的一個(gè)特例。
SNAT是指在數(shù)據(jù)包從網(wǎng)卡發(fā)送出去的時(shí)候,把數(shù)據(jù)包中的源地址部分替換為指定的IP,這樣,接收方就認(rèn)為數(shù)據(jù)包的來源是被替換的那個(gè)IP的主機(jī)。
MASQUERADE是用發(fā)送數(shù)據(jù)的網(wǎng)卡上的IP來替換源IP,因此,對(duì)于那些IP不固定的場(chǎng)合,比如撥號(hào)網(wǎng)絡(luò)或者通過dhcp分配IP的情況下,就得用MASQUERADE。
DNAT,就是指數(shù)據(jù)包從網(wǎng)卡發(fā)送出去的時(shí)候,修改數(shù)據(jù)包中的目的IP,表現(xiàn)為如果你想訪問A,可是因?yàn)榫W(wǎng)關(guān)做了DNAT,把所有訪問A的數(shù)據(jù)包的目的IP全部修改為B,那么,你實(shí)際上訪問的是B
因?yàn)椋酚墒前凑漳康牡刂穪磉x擇的,因此,DNAT是在PREROUTING鏈上來進(jìn)行的,而SNAT是在數(shù)據(jù)包發(fā)送出去的時(shí)候才進(jìn)行,因此是在POSTROUTING鏈上進(jìn)行的。
3.包過濾防火墻與代理應(yīng)用防火墻有什么區(qū)別,能列舉幾種相應(yīng)的產(chǎn)品嗎?
4.iptables是否支持time時(shí)間控制用戶行為,如有請(qǐng)寫出具體操作步驟。
5.說出你知道的幾種linux/unix發(fā)行版本。
Redhat、CentOS、Fedora、SuSE、Slackware、Gentoo、Debian、Ubuntu、FreeBSD、Solaris、SCO、AIX、HP…
6.列出linux常見打包工具并寫相應(yīng)解壓縮參數(shù)(至少三種)
7.計(jì)劃每星期天早8點(diǎn)服務(wù)器定時(shí)重啟,如何實(shí)現(xiàn)?
8.列出作為完整郵件系統(tǒng)的軟件,至少二類。
9,當(dāng)用戶在瀏覽器當(dāng)中輸入一個(gè)網(wǎng)站,說說計(jì)算機(jī)對(duì)dns解釋經(jīng)過那些流程?注:本機(jī)跟本地dns還沒有緩存。
答:
a.用戶輸入網(wǎng)址到瀏覽器;
b.瀏覽器發(fā)出DNS請(qǐng)求信息;
c.計(jì)算機(jī)首先查詢本機(jī)HOST文件,看是否存在,存在直接返回結(jié)果,不存在,繼續(xù)下一步;
d.計(jì)算機(jī)按照本地DNS的順序,向合法dns服務(wù)器查詢IP結(jié)果;
e.合法dns返回dns結(jié)果給本地dns,本地dns并緩存本結(jié)果,直到TTL過期,才再次查詢此結(jié)果;
f.返回IP結(jié)果給瀏覽器;
g.瀏覽器根據(jù)IP信息,獲取頁面;
10,我們都知道,dns既采用了tcp協(xié)議,又采用了udp協(xié)議,什么時(shí)候采用tcp協(xié)議?什么時(shí)候采用udp協(xié)議?為什么要這么設(shè)計(jì)?
答:這個(gè)題需要理解的東西比較的多,分一下幾個(gè)方面
a,從數(shù)據(jù)包大小上分:UDP的最大包長(zhǎng)度是65507個(gè)字節(jié),響應(yīng)dns查詢的時(shí)候數(shù)據(jù)包長(zhǎng)度超過512個(gè)字節(jié),而返回的只要前512個(gè)字節(jié),這時(shí)名字 解釋器通常使用TCP從發(fā)原來的請(qǐng)求。
b,從協(xié)議本身來分:大部分的情況下使用UDP協(xié)議,大家都知道UDP協(xié)議是一種不可靠的協(xié)議,dns不像其它的使用UDP的Internet應(yīng)用 (如:TFTP,BOOTP和SNMP等),大部分集中在局域網(wǎng),dns查詢和響應(yīng)需要經(jīng)過廣域網(wǎng),分組丟失和往返時(shí)間的不確定性在廣域網(wǎng)比局域網(wǎng)上更 大,這就要求dns客戶端需要好的重傳和超時(shí)算法,這時(shí)候使用TCP。
11,一個(gè)EXT3的文件分區(qū),當(dāng)使用touch test.file命令創(chuàng)建一個(gè)新文件時(shí)報(bào)錯(cuò),報(bào)錯(cuò)的信息是提示磁盤已滿,但是采用df -h命令查看磁盤大小時(shí),只使用了,60%的磁盤空間,為什么會(huì)出現(xiàn)這個(gè)情況,說說你的理由。
答:兩種情況,一種是磁盤配額問題,另外一種就是EXT3文件系統(tǒng)的設(shè)計(jì)不適合很多小文件跟大文件的一種文件格式,出現(xiàn)很多小文件時(shí),容易導(dǎo)致inode 耗盡了。
12,我們都知道FTP協(xié)議有兩種工作模式,說說它們的大概的一個(gè)工作流程?
FTP兩種工作模式:主動(dòng)模式(Active FTP)和被動(dòng)模式(Passive FTP)
在主動(dòng)模式下,F(xiàn)TP客戶端隨機(jī)開啟一個(gè)大于1024的端口N向服務(wù)器的21號(hào)端口發(fā)起連接,然后開放N+1號(hào)端口進(jìn)行監(jiān)聽,并向服務(wù)器發(fā)出PORT N+1命令。
服務(wù)器接收到命令后,會(huì)用其本地的FTP數(shù)據(jù)端口(通常是20)來連接客戶端指定的端口N+1,進(jìn)行數(shù)據(jù)傳輸。
在被動(dòng)模式下,F(xiàn)TP客戶端隨機(jī)開啟一個(gè)大于1024的端口N向服務(wù)器的21號(hào)端口發(fā)起連接,同時(shí)會(huì)開啟N+1號(hào)端口。然后向服務(wù)器發(fā)送PASV命令,通 知服務(wù)器自己處于被動(dòng)模式。服務(wù)器收到命令后,會(huì)開放一個(gè)大于1024的端口P進(jìn)行監(jiān)聽,然后用PORT P命令通知客戶端,自己的數(shù)據(jù)端口是P。客戶端收到命令后,會(huì)通過N+1號(hào)端口連接服務(wù)器的端口P,然后在兩個(gè)端口之間進(jìn)行數(shù)據(jù)傳輸。
總的來說,主動(dòng)模式的FTP是指服務(wù)器主動(dòng)連接客戶端的數(shù)據(jù)端口,被動(dòng)模式的.FTP是指服務(wù)器被動(dòng)地等待客戶端連接自己的數(shù)據(jù)端口。
被動(dòng)模式的FTP通常用在處于防火墻之后的FTP客戶訪問外界FTp服務(wù)器的情況,因?yàn)樵谶@種情況下,防火墻通常配置為不允許外界訪問防火墻之后主機(jī),而只允許由防火墻之后的主機(jī)發(fā)起的連接請(qǐng)求通過。
因此,在這種情況下不能使用主動(dòng)模式的FTP傳輸,而被動(dòng)模式的FTP可以良好的工作。
13.編寫個(gè)shell腳本將當(dāng)前目錄下大于10K的文件轉(zhuǎn)移到/tmp目錄下
Q:主要是考察awk 這些的用法
#/bin/sh
#Programm :
# Using for move currently directory to /tmp
for FileName in `ls -l |awk ‘$510240 {print $9}’`
do
mv $FileName /tmp
done
ls -la /tmp
echo “Done! ”
14.apache有幾種工作模式,分別介紹下其特點(diǎn),并說明什么情況下采用不同的工作模式?
apache主要有兩種工作模式:prefork(apache的默認(rèn)安裝模式)和worker(可以在編譯的時(shí)候加參數(shù)–with-mpm- worker選擇工作模式)
如下:
1.查找文件
find / -name filename.txt
根據(jù)名稱查找/目錄下的filename.txt文件
2.查看一個(gè)程序是否運(yùn)行
ps _ef|grep tomcat
查看所有有關(guān)tomcat的進(jìn)程。
3.終止線程
kill -9 19979
終止線程號(hào)位19979的線程
4.查看文件,包含隱藏文件
ls -al
5.當(dāng)前工作目錄
pwd
6.復(fù)制文件包括其子文件到自定目錄
cp -r sourceFolder targetFolder
7.創(chuàng)建目錄
mkdir newfolder
8.刪除目錄(此目錄是空目錄)
rmdir deleteEmptyFolder
9.刪除文件包括其子文件
rm -rf deleteFile
10.移動(dòng)文件
mv /temp/movefile /targetFolder
擴(kuò)展重命名 mv oldNameFile newNameFile
11.切換用戶
su -username
12.修改文件權(quán)限
chmod 777 file.java
//file.java的權(quán)限-rwxrwxrwx,r表示讀、w表示寫、x表示可執(zhí)行
13.壓縮文件
tar -czf test.tar.gz /test1 /test2
14.列出壓縮文件列表
tar -tzf test.tar.gz
15.解壓文件
tar -xvzf test.tar.gz
16.查看文件頭10行
head -n 10 example.txt
17.查看文件尾10行
tail -n 10 example.txt
18.查看日志文件
tail -f exmaple.log
//這個(gè)命令會(huì)自動(dòng)顯示新增內(nèi)容,屏幕只顯示10行內(nèi)容的(可設(shè)置)
19.啟動(dòng)Vi編輯器
vi
20.查看系統(tǒng)當(dāng)前時(shí)間
date
命令會(huì)輸出 周幾 幾月 幾日 時(shí)間 和 時(shí)間顯示格式和年份
Sat Jan 20 04:39:49 CST 2018
date +"%Y-%m-%d"