Linux運維工程師面試題

1、有文件file1php

一、請用shell查詢file1 裏面空行的所在行號
awk ‘{if($0~/^$/)print NR}’ file
or
grep -n ^$ file |awk ‘BEGIN{FS=」:」}{print $1}’

二、編寫ShellScript查詢file1 以abc 結尾的行
grep abc$ file1

三、打印出file1 文件第1 到第3 行
sed -n ’1,3p’ file1
head -3 file1

2、如何將本地80 端口的請求轉發到8080 端口,當前主機IP 爲192.168.2.1
iptables -t nat -A PREROUTING -d 192.168.1.33 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.33:8080
3、crontab
在11 月分內,天天的早上6 點到12 點中,每隔2 小時執行一次/usr/bin/httpd.sh 怎麼
實現
0 6-12/2 * 11 * /usr/bin/httpd.shhtml

3、crontab
在11 月分內,天天的早上6 點到12 點中,每隔2 小時執行一次/usr/bin/httpd.sh 怎麼
實現
0 6-12/2 * 11 * /usr/bin/httpd.sh

4、編寫個shell 腳本將/usr/local/test 目錄下大於100K 的文件轉移到/tmp 目錄下
#!/bin/bash
for file in `ls /root`
do
if [ -f $file ]; then
if [ `ls -l $file|awk '{print $5}'` -gt 10000 ]; then
mv $file /tmp/
fi
fi
done

5、簡述raid0 raid1 raid5 三種工做模式的工做原理及特色。
RAID 0:連續以位或字節爲單位分割數據,並行讀/寫於多個磁盤上,所以具備很高的數據傳輸率,但它沒有數據冗餘,所以並不能算是真正的RAID 結構。RAID 0 只是單純地提升性能,並無爲數據的可靠性提供保證,並且其中的一個磁盤失效將影響到全部數據。所以,RAID 0 不能應用於數據安全性要求高的場合。
RAID 1:它是經過磁盤數據鏡像實現數據冗餘,在成對的獨立磁盤上產生互爲備份的數據。當原始數據繁忙時,可直接從鏡像拷貝中讀取數據,所以RAID 1 能夠提升讀取性能。RAID 1 是磁盤陣列中單位成本最高的,但提供了很高的數據安全性和可用性。當一個磁盤失效時,系統能夠自動切換到鏡像磁盤上讀寫 ,而不須要重組失效的數據。簡單來講就是:鏡象結構,相似於備份模式,一個數據被複制到兩塊硬盤上。
RAID10:高可靠性與高效磁盤結構一個帶區結構加一個鏡象結構,由於兩種結構各有優缺點,所以能夠相互補充。主要用於容量不大,但要求速度和差錯控制的數據庫中。
RAID5:分佈式奇偶校驗的獨立磁盤結構,它的奇偶校驗碼存在於全部磁盤上,任何一個硬盤損壞,均可以根據其它硬盤上的校驗位來重建損壞的數據。支持一塊盤掉線後仍然正常運行。

6、oracle 數據庫備份方式
物理備份:開啓網絡監聽,備份數據庫文件。
RMAN 備份:經過表空間文件在RMAN 模式對ORACLE 數據備份。

7、如何查看佔用端口8080 的進程
lsof -i:8080

8、請寫出apache2.X 版本的兩種工做模式,以及各自工做原理。如何查看apache 當前所支持的模塊,而且查看是工做在哪一種模式下?
答案:
prefork(多進程,每一個進程產生子進程)和worker(多進程,每一個進程生成多個線程)
prefork 的工做原理是,控制進程在最初創建「StartServers」個子進程後,爲了知足MinSpareServers 設置的須要建立一個進程,等待一秒鐘,繼續建立兩個,再等待一秒鐘,繼續建立四個……如此按指數級增長建立的進程數,最多達到每秒32 個,直到知足MinSpareServers 設置的值爲止。這就是預派生(prefork)的由來。這種模式能夠沒必要在請求到來時再產生新的進程,從而減少了系統開銷以增長性能。
worker 是2.0 版中全新的支持多線程和多進程混合模型的MPM。因爲使用線程來處理,因此能夠處理相對海量的請求,而系統資源的開銷要小於基於進程的服務器。可是,worker 也使用了多進程,每一個進程又生成多個線程,以得到基於進程服務器的穩定性。這種MPM 的工做方式將是Apache 2.0 的發展趨勢。
能夠經過命令httpd -l 能夠查看apache 當前的模塊,若是帶有worker.c 就是工做在worker 模式下,若是有prefork.c 就是工做在prefork.c 的模式下。

9、你使用過監控軟件嗎?說說其特色
使用nagios 對服務器進行監控,其特色可實時實現手機短信、電子郵件、MSN、飛信報警。使用cacti 對流量進行監控。

10、你對如今運維工程師的理解和以及對其工做的認識運維工程師在公司當中責任重大,須要保證時刻爲公司及客戶提供最高、最快、最穩定、最安全的服務。運維工程師的一個小小的失誤,頗有可能會對公司及客戶形成重大損失,所以運維工程師的工做須要嚴謹及富有創新精神。

11、linux 下經常使用的DNS服務軟件是什麼,舉出幾種經常使用的DNS記錄,若是域名abc.com配置好了一臺郵件服務器,IP 地址爲202.106.0.20,我該如何作相關的解析?是否瞭解bind 的智能解析,若是瞭解請簡述一下其原理
答案:
1)經常使用的DNS 軟件是bind
2)A 記錄 地址記錄
MX 記錄 郵件交換記錄
CNAME 記錄 別名域記錄
3)修改abc.com 域名的配置文件,增長如下記錄
IN MX 10 mail.abc.com.
mail IN A 202.106.0.20
4)bind 根據請求解析客戶端的IP 地址,作出不一樣的解析,其原理是在配置文件中,設定了
view,在每一個view 都有客戶端的IP 地址段,bind 服務器根據請求解析客戶端的IP 地址,
匹配不一樣的view,再根據該view 的配置,到相應的配置文件進行查詢,將結果返回給請求
的客戶端。

12、經過apache 訪問日誌access.log 統計IP 和每一個地址訪問的次數,按訪問量列出
前10 名。
日誌格式樣例以下
192.168.1.247 – - [02/Jul/2010:23:44:59 +0800] 「GET / HTTP/1.1″ 200 19
答案:
cat access_log | awk ‘{print $1}’ | uniq -c|sort -rn|head -10
//這個別的方法也能統計,但有些命令是必要的 awk , sort,uniq ,主要看是否這些命令都
使用了。
十3、如何用mysql 命令進行備份和恢復?以test 庫爲例,建立一個備份,並再用此備份
進行恢復。
mysqldump -u root -p test > test.sql
mysql -u root -p test < test.sql
//主要考對方msqldump > test.sql 和 mysql < test.sql
十4、你認爲在系統調優方面都包括哪些工做,以linux 爲例,請簡明闡述,並舉一些參數
爲例。
答案:
系統調優包括內核參數優化和應用優化2 個方面,對方只要從這兩方面來講,就能夠了,
儘可能能有些經驗的闡述。
有個文件以下:

http://a.domain.com/1.html

http://b.domain.com/1.html

http://c.domain.com/1.html

http://a.domain.com/2.html

http://b.domain.com/2.html

http://a.domain.com/3.html

要求:獲得主機名(和域名),並統計哪一個網址出現的次數,並排序。能夠shell 或C。
獲得的結果應該是:
3 a.domain.com
2 b.domain.com
1 c.domain.com
[root@mail ~]# awk ‘BEGIN{FS=」/」}{arr[$3]++}END{for(i in arr) print
arr[i],i}’ list| sort -r 答案
3 a.domain.com
2 b.domain.com
1 c.domain.com
掛載windows 的共享目錄?
mount.cifs //IP/SHARE linux 的目錄 --verbose -o user=username <--這個用戶是
windows 下的用戶--verbose 這個參數能夠不加,它是顯示過程的
例如mount.cifs //10.1.1.246/gongxiang /mnt --verbose -o user=gao
或者是mount -t cifs
umount /mnt 或umount.cifs /mnt -l <--取消掛載
圖形界面:smb://IP
A B 網絡是通的,最少列出五種傳輸文件的服務
nfs ,ftp,scp ,rsync,samba,http://
1.假設Apache 產生的日誌文件名爲access_log,在apache 正在運行時,執行命令mv
access_log access_log.bak,執行完後,請問新的apache 的日誌會打印到哪裏,爲何?
新的日誌會打印在access_log.bak 中,由於apache 啓動時會找到access_log 文件,
隨時準備向文件中加入日誌信息,
雖然此時文件被更名,可是因爲服務正在運行,由於它的inode 節點的位置沒有變,程序
打開的fd 仍然會指向原來那個inode,
不會由於文件名的改變而改變。apache 會繼續向已更名的文件中追加日誌,可是若重啓
apache 服務,系統會檢查access_log
文件是否存在,若不存在則建立。
2.在Shell 環境下,如何查看遠程Linux 系統運行了多少時間?
二、監控主機執行: ssh user@被監控主機ip "uptime"
這樣獲得了被監控主機的uptime
3.處理如下文件內容,將域名取出並進行計數排序,如處理:

http://www.baidu.com/index.html

http://www.baidu.com/1.html

http://post.baidu.com/index.html

http://mp3.baidu.com/index.html

http://www.baidu.com/3.html

http://post.baidu.com/2.htmlnode

獲得以下結果:
域名的出現的次數 域名
3 www.baidu.com
2 post.baidu.com
1 mp3.baidu.com
可使用bash/perl/php/c 任意一種
三、[root@localhost shell]# cat file | sed -e ' s/http:\/\///' -e ' s/\/.*//' | sort |
uniq -c | sort -rn
3 www.baidu.com
2 post.baidu.com
1 mp3.baidu.com
[root@codfei4 shell]# awk -F/ '{print $3}' file |sort -r|uniq -c|awk '{print
$1"\t",$2}'
3 www.baidu.com
2 post.baidu.com
1 mp3.baidu.com
4.若是獲得隨機的字串,長度和字串中出現的字符表可定義,並將字串倒序顯示,如
把0123456789 做爲基準的字串字符表,產生一個6 位的字串642031,打印出的字串爲
130246,可以使用bash/perl/php/c 任意一種.
四、[root@localhost ~]# awk -v count=6 'BEGIN
{srand();str="0123456789";len=length(str);for(i=count;i>0;i--)
marry[i]=substr(str,int(rand()*len),1);for(i=count;i>0;i--)
printf("%c",marry[i]);printf("\n");for
(i=0;i<=count;i++) printf("%c",marry[i]);printf("\n")}'
838705
507838
5.如何查看當前Linux 系統的狀態,如CPU 使用,內存使用,負載狀況等.
五、Linux 系統中「/proc」是個僞文件目錄,不佔用系統空間,及時的反應出內存如今使用的
進程狀況......其中許多文件都保存系統運行狀態和相關信息
對於「/proc」中文件可以使用文件查看命令瀏覽其內容,文件中包含系統特定信息:
cpuinfo 主機CPU 信息
filesystems 文件系統信息
meninfo 主機內存信息
version Linux 內存版本信息
diskstatus 磁盤負載狀況
另外top 命令能夠動態的顯示當前系統進程用戶的使用狀況,並且是動態的顯示出來,尤爲
是在該命令顯示出來的對上方對系統的狀況進行彙總.
free 命令呢能夠查看真實使用的內存 通常用free -m
使用lsof 、ps -aux 能夠查看詳細的每一個進程的使用情況
dmesg 也是經常使用來查看系統性能的命令
#題目:有10 臺被監控主機、一臺監控機,在監控機上編寫腳本,一旦某臺被監控機器/
分區適用率大於80%, 就發郵件報警放到crontab 裏面, 每10 分鐘檢查一次
#測試機器:虛擬機Linux as 4
#1.首先創建服務器間的信任關係。拿兩臺機器作測試
本機ip:192.168.1.6
[root@codfei ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y (覺得我是第2 次創建關係因此此處覆蓋原來的文件)
Enter passphrase (empty for no passphrase):(直接回車無須輸入密鑰)
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
04:37:13:2a:4b:10:af:c1:2b:03:3f:6b:27:ce:b9:62 root@codfei
[root@codfei ~]# cd .ssh/
[root@codfei .ssh]# ll
-rw------- 1 root root 883 Apr 25 17:51 id_rsa
-rw-r--r-- 1 root root 221 Apr 25 17:51 id_rsa.pub
-rw-r--r-- 1 root root 442 Apr 25 17:37 known_hosts
id_rsa 是密鑰文件,id_rsa.pub 是公鑰文件。
[root@codfei .ssh]# scp id_rsa.pub192.168.1.4:/root/.ssh/192.168.1.6
root@192.168.1.4's password:
id_rsa.pub 100% 221 0.2KB/s 00:00
這裏把公鑰文件取名爲本機的ip 地址就是爲了之後和更多的機器創建信任關係不發生混
淆。
如今登錄到192.168.1.4 機器
[root@codfei ~]# cd .ssh/
[root@codfei .ssh]# cat 192.168.1.6 >> authorized_keys
而後回到192.168.1.6 機器直接
[root@codfei .ssh]# ssh 192.168.1.4
Last login: Wed Aug 8 12:14:42 2007 from 192.168.1.6
這樣就能夠了,裏面偶爾涉及到權限問題。通常./ssh 文件夾是755 authorized_keys 爲
600 或者644
####腳本以下#######################
#!/bin/bash
#SCRIPT:df_check.sh
#Writeen by codfei Mon Sep 3 07:25:28 CST 2007
#PURPOSE:This script is used to monitor for full filesystems.
#######################Begining####################
####################
FSMAX="80"
remote_user='root' #####徹底能夠不用root
remote_ip=(192.168.1.5 192.168.1.6 192.168.1.7 192.168.1.8 192.168.1.9
192.168.1.10 192.168.1.11 192.168.1.12 192.168.1.13 192.168.1.14 ) ---->
這裏填寫你要監控的主機ip
ip_num='0'
while [ "$ip_num" -le "$(expr ${#remote_ip[@]} - 1)" ]
do
read_num='1'
ssh "$remote_user"@"${remote_ip[$ip_num]}" df -h > /tmp/diskcheck_tmp
grep '^/dev/*' /tmp/diskcheck_tmp|awk '{print $5}'|sed 's/\%//g' >
/tmp/diskcheck_num_tmp
while [ "$read_num" -le $(wc -l < /tmp/diskcheck_num_tmp) ]
do
size=$(sed -n "$read_num"'p' /tmp/diskcheck_num_tmp)
if [ "$size" -gt "$FSMAX" ]
then
$(grep '^/dev/*' /tmp/diskcheck_tmp|sed -n $read_num'p' >
/tmp/disk_check_mail)
$(echo ${remote_ip[$ip_num]} >> /tmp/disk_check_mail)
$(mail -s "diskcheck_alert" admin < /tmp/disk_check_mail)
fi
read_num=$(expr $read_num + 1)
done
ip_num=$(expr $ip_num + 1)
done
#############over################################
################讓腳本每十分鐘執行一次#############
在cron 表中加入
0/10 * * * * /home/codfei/diskcheck.sh 2>&1
################################################
##########################
好比, ext2 文件系統, 若是異常死機,開機如何修復文件系統?
若是異常關機,好比斷電,通知機房的人開機以後,
咱們須要遠程修復、檢查文件系統
除了/分區以外, 其餘的分區:
umount /home
fsck -y /home
/ 分區須要開機以後, 由機房的人來掃描
隨後咱們再登陸並掃描/home 等其餘分區
如何查看一個進程所使用的文件句柄?
看這裏面 /proc/進程號/fd/
的個數就好了
簡單的好比如何查看apache 進程數
[root@localhost fd]# ps -ef|grep httpd|wc -l
1
如何統計apache 的每秒訪問數?
tail access_log | awk '{print $1,$4}'
[root@localhost logs]# grep -c `date -d '3 second ago' +%T` access_log
0
################################################
一、/proc/sys 子目錄的做用
該子目錄的做用是報告各類不一樣的內核參數,並讓您能交互地更改其中的某些。與 /proc
中全部其餘文件不一樣,該目錄中的某些文件能夠寫入,不過這僅針對 root。
其中的目錄以及文件的詳細列表將佔據過多的篇幅,並且該目錄的內容是依賴於系統的,而
大部分的文件也僅僅對某些特殊的應用程序有用。然而,如下是該子目錄的兩個最多見的用
途:
容許路由:即使是 Mandrakelinux 默認的內核也是容許路由的,您必需顯式容許它這麼
作。爲此,您只要以 root 身份鍵入如下命令:
$ echo 1 >/proc/sys/net/ipv4/ip_forward
若是您要禁用路由,請將上述命令中的 1 改成 0。
阻止 IP 欺騙:IP 欺騙會讓人認爲某個來自於外部的某個數據包是來自於它到達的那個接
口。這一技術常被駭客(cracker)所使用。您可讓內核阻止這種***。請鍵入:
$ echo 1 >/proc/sys/net/ipv4/conf/all/rp_filter
這樣,這種***就再也不可能了。
這些改變僅當系統運行時有效。在系統從新啓動以後,它們會改會它們的默認值。要在啓動
時就改動這些值,您能夠將您在 shell 提示符後鍵入的命令添加到 /etc/rc.d/rc.local 中
以避免每次都鍵入它們。另外一個方法是修改
/etc/sysctl.conf
二、將一個文本的奇數行和偶數行合併,第2 行和第3 行合併
[root@localhost bin]# cat 1
48 Oct 3bc1997 lpas 68.00 lvx2a 138
484 Jan 380sdf1 usp 78.00 deiv 344
483 nov 7pl1998 usp 37.00 kvm9d 644
320 aug der9393 psh 83.00 wiel 293
231 jul sdf9dsf sdfs 99.00 werl 223
230 nov 19dfd9d abd 87.00 sdiv 230
219 sept 5ap1996 usp 65.00 lvx2c 189
216 Sept 3zl1998 usp 86.00 kvm9e 234
[root@localhost bin]# sed '$!N;s/\n/ /g' 1
48 Oct 3bc1997 lpas 68.00 lvx2a 138 484 Jan 380sdf1 usp 78.00 deiv 344
483 nov 7pl1998 usp 37.00 kvm9d 644 320 aug der9393 psh 83.00 wiel 293
231 jul sdf9dsf sdfs 99.00 werl 223 230 nov 19dfd9d abd 87.00 sdiv 230
219 sept 5ap1996 usp 65.00 lvx2c 189 216 Sept 3zl1998 usp 86.00 kvm9e 234
[root@localhost bin]# sed -n -e 2p -e 3p 1|sed '$!N;s/\n/ /'
484 Jan 380sdf1 usp 78.00 deiv 344 483 nov 7pl1998 usp 37.00 kvm9d 644
三、read 命令5 秒後自動退出
[root@localhost bin]# read -t 5
四、自動ftp 上傳
#!/bin/sh
ftp -n<<END_FTP
open 192.168.1.4
user codfei duibuqi //用戶名codfei 密碼duibuqi
binary
prompt off //關閉提示
mput test //上傳test
close
bye
END_FTP
自動ssh 登錄 從A 到B 而後再到c
#!/usr/bin/expect -f
set timeout 30
spawn ssh codfei@B
expect "password:"
send "pppppp\r"
expect "]*"
send "ssh codfei@C\r"
expect "password:"
send "pppppp\r"
interact
五、#打印第一個域
[root@localhost bin]# cat 3
eqeqedadasdD
eqeqdadfdfDD
fdsfdsfQWEDD
DSADASDSADSA
[root@localhost bin]#
[root@localhost bin]#
[root@localhost bin]# awk -F "" '{print $1}' 3
e
e
f
D
六、實現字符串翻轉
[root@localhost bin]# cat 8
qweqewqedadaddas
[root@localhost bin]# rev 8
saddadadeqweqewq
########################################第2 次電面
七、sed awk grep 哪一個最好
我答的是 哪一個掌握的精通,都很好,可是仍是問我哪一個最好,我只能說awk 了,對於行操
做和列操做均可以操做的很好。
八、grep -E -P 是什麼意思
我說的是-E, --extended-regexp 採用規則表示式去解釋樣式。 -P 不太清楚
九、請介紹一下你對運維這個工做的理解,和應該具有的素質。
shell 腳本編程部分:
1.從a.log 文件中提取包含「WARNING」或」FATAL」,同時不包含「IGNOR」的行,而後,
提取以「:」分割的第五個字段?
2.添加一個新組爲class01,而後,添加屬於這個組的30 個用戶,用戶名的形式爲stdXX,
其中,XX 從01 到30?
3.在每月的第一天備份並壓縮/etc 目錄下的全部內容,存放在/root/backup 目錄裏,
且文件名爲以下形式yymmdd_etc,yy 爲年,mm爲月,dd 爲日。shell 程序fileback
存放在/usr/bin 目錄下?
4.用shell 編程,判斷一文件是否是字符設備文件,若是是將其拷貝到/dev 目錄下?
參考答案:
#!/bin/bash
directory=/dev
for file in anaconda-ks.cfg install.log install.log.syslog
do
if [ -f $file ]
then
cp $file $directory/$file.bak
echo " HI, $LOGNAME $file is backed up already in $directory !!"
fi
done
5.某系統管理員須要天天作必定的重複工做,編制一個解決方案:
(1).從下午4:50 刪除/abc 目錄下的所有子目錄和所有文件;
(2).從早上8:00~下午6:00 每小時讀取/xyz 目錄下x1 文件中每行第一個域的所有數
據加入到/backup 目錄下的back01.txt 文件內;
(3).每逢週一下午5:50 將/data 目錄下的全部目錄和文件歸檔並壓縮爲文件
backup.tar.gz;
(4).在下午5:55 將IDE 接口的CD-ROM 缷載(假設CD-ROM 的設備名爲hdc);
(5).在早上8:00 前開機後啓動。
---------------------------------------
------------------
一、簡述Apache 兩種工做模式,以及它們之間的區別。
答案:最主要的兩種模式是prefork 模式與worker 模式。prefork 每一個子進程只有一個線
程,效率高但消耗內存大,是unix 下默認的模式;worker 模式每一個子進程有多個線程,
內存消耗低,但一個線程崩潰會牽連其它同子進程的線程。
二、用iptables 添加一個規則容許192.168.0.123 訪問本機3306 端口
iptables -I INPUT 1 -p tcp -m tcp --dport 3306 -s 192.168.0.123 -j ACCEPT
三、如何對一臺Linux 服務器進行系統性能調優,列舉出參數。
四、DNS 服務器的工做原理。
五、修改第一塊網卡的路徑是什麼。
/etc/sysconfig/network-scripts/ifcfg-eth0
七、使用shell,創建class1 用戶組,再批量創建stu1--stu30 的用戶,並指定用戶組爲
class1。
vi autoaddusr
#!/usr/bin/php -q
<?php
exec("groupadd class1");
for($i=1; $i<=30; $i++){
exec("useradd -G class1 stu".$i);
}
?>
chmod +x autoaddusr
./autoaddusr
八、我的對該工做的將來如何規劃,須要增強哪些能力。
首先,我有一顆真誠的心,遇事沉着冷靜,不急不躁;
其次,我有相應的專業知識和工做經驗。一年多的系統管理經歷鍛鍊了我在這個行業的業務
能力,並對行業前景和發展動態有相應的瞭解;
最後,我會用踏實的做風在從此的工做中證實我本身的能力!
九、平常監控都須要監控哪些?
1)硬件:
CPU:/proc/cpuinfo
內存:/proc/meminfo
硬盤:fdisk -l
2)系統:
負載:/proc/loadavg
uptime 查看實時load average、swap
虛擬內存:vmstat(參數-s;2 4)
SUID,用戶,進程
系統日誌:tail -f /var/log/messages
logwatch --print --range Today --service SSHD --service pam_unix
3)網絡:Host_Alive,Ping,端口,鏈接
1.如何將本地80 端口的請求轉發到8080 端口,當前主機IP 爲192.168.16.1,其中本地
網卡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 有什麼不一樣,應用事例有那些?
3.包過濾防火牆與代理應用防火牆有什麼區別,能列舉幾種相應的產品嗎?
4.iptables 是否支持time 時間控制用戶行爲,若有請寫出具體操做步驟
5.說出你知道的幾種linux/unix 發行版本
6.列出linux 常見打包工具並寫相應解壓縮參數(至少三種)
7.計劃每星期天早8 點服務器定時重啓,如何實現?
8.列出做爲完整郵件系統的軟件,至少二類
9,當用戶在瀏覽器當中輸入一個網g 站,說說計算機對dns 解釋通過那些流程?注:本機
跟本地dns 尚未緩存。
答: a.用戶輸入網址到瀏覽器
b.瀏覽器發出DNS 請求信息
c.計算機首先查詢本機HOST 文件,看是否存在,存在直接返回結果,不存在,繼續下一

d.計算機按照本地DNS 的順序,向合法dns 服務器查詢IP 結果,
e.合法dns 返回dns 結果給本地dns,本地dns 並緩存本結果,直到TTL 過時,纔再次
查詢此結果
f.返回IP 結果給瀏覽器
g.瀏覽器根據IP 信息,獲取頁面
10,咱們都知道,dns 既採用了tcp 協議,又採用了udp 協議,何時採用tcp 協議?
何時採用udp 協議?爲何要這麼設計?
答:這個題須要理解的東西比較的多,分一下幾個方面
a,從數據包大小上分:UDP 的最大包長度是65507 個字節,響應dns 查詢的時候數據包
長度超過512 個字節,而返回的只要前512 個字節,這時名字解釋器一般使用TCP 從發
原來的請求。
b,從協議自己來分:大部分的狀況下使用UDP 協議,你們都知道UDP 協議是一種不可靠
的協議,dns 不像其它的使用UDP 的Internet 應用 (如:TFTP,BOOTP 和SNMP 等),
大部分集中在局域網,dns 查詢和響應須要通過廣域網,分組丟失和往返時間的不肯定性在
廣域網比局域網上更大,這就要求dns 客戶端須要好的重傳和超時算法,這時候使用TCP
11,一個EXT3 的文件分區,當使用touch test.file 命令建立一個新文件時報錯,報錯的
信息是提示磁盤已滿,可是採用df -h 命令查看磁盤大小時,只使用了,60%的磁盤空間,
爲何會出現這個狀況,說說你的理由。
答:兩種狀況,一種是磁盤配額問題,另一種就是EXT3 文件系統的設計不適合不少小
文件跟大文件的一種文件格式,出現不少小文件時,容易致使inode 耗盡了。
12,咱們都知道FTP 協議有兩種工做模式,說說它們的大概的一個工做流程?
FTP 兩種工做模式:主動模式(Active FTP)和被動模式(Passive FTP)
在主動模式下,FTP 客戶端隨機開啓一個大於1024 的端口N 向服務器的21 號端口發起
鏈接,而後開放N+1 號端口進行監聽,並向服務器發出PORT N+1 命令。
服務器接收到命令後,會用其本地的FTP 數據端口(一般是20)來鏈接客戶端指定的端口
N+1,進行數據傳輸。
在被動模式下,FTP 客戶端隨機開啓一個大於1024 的端口N 向服務器的21 號端口發起
鏈接,同時會開啓N+1 號端口。而後向服務器發送PASV 命令,通知服務器本身處於被動
模式。服務器收到命令後,會開放一個大於1024 的端口P 進行監聽,而後用PORT P 命
令通知客戶端,本身的數據端口是P。客戶端收到命令後,會經過
N+1 號端口鏈接服務器的端口P,而後在兩個端口之間進行數據傳輸。
總的來講,主動模式的FTP 是指服務器主動鏈接客戶端的數據端口,被動模式的FTP 是指
服務器被動地等待客戶端鏈接本身的數據端口。
被動模式的FTP 一般用在處於防火牆以後的FTP 客戶訪問外界FTp 服務器的狀況,由於在
這種狀況下,防火牆一般配置爲不容許外界訪問防火牆之
後主機,而只容許由防火牆以後的主機發起的鏈接請求經過。
所以,在這種狀況下不能使用主動模式的FTP 傳輸,而被動模式的FTP 能夠良好的工做。
13.編寫個shell 腳本將當前目錄下大於10K 的文件轉移到/tmp 目錄下
#/bin/sh
#Programm :
# Using for move currently directory to /tmp
for FileName in `ls -l |awk '$5>10240 {print $9}'`
do
mv $FileName /tmp
done
ls -al /tmp
echo "Done! "
14.apache 有幾種工做模式,分別介紹下其特色,並說明什麼狀況下采用不一樣的工做模
式?
apache 主要有兩種工做模式:prefork(apache 的默認安裝模式)和worker(能夠在編譯
的時候加參數--with-mpm-worker 選擇工做模式)
prefork 的特色是:(預派生)
1.這種模式能夠沒必要在請求到來時再產生新的進程,從而減少了系統開銷
2.能夠防止意外的內存泄漏
3.在服務器負載降低的時候會自動減小子進程數
worker 的特色是:支持混合的多線程多進程的多路處理模塊
若是對於一個高流量的HTTP 服務器,worker MPM 是一個比較好的選擇,由於worker
MPM 佔用的內存要比prefork 要小。
15.名詞解釋 HDLC,VTP,OSPF,RIP,DDOS,system
V,GNU,netscreen,ssh,smartd,apache,WAIT_TIME 等等
16.編寫shell 腳本獲取本機的網絡地址。好比:本機的ip 地址是:
192.168.100.2/255.255.255.0,那麼它的網絡地址是
192.168.100.1/255.255.255.0
方法一:
1. #!/bin/bash
2. #This script print ip and network
3. file="/etc/sysconfig/network-scripts/ifcfg-eth0"
4. if [ -f $file ] ;then
5. IP=`grep "IPADDR" $file|awk -F"=" '{ print $2 }'`
6. MASK=`grep "NETMASK" $file|awk -F"=" '{ print $2 }'`
7. echo "$IP/$MASK"
8. exit 1
9. fi
方法二:
1. #!/bin/bash
2. #This programm will printf ip/network
3. #
4. IP=`ifconfig eth0 |grep 'inet ' |sed 's/^.*addr://g'|sed 's/ Bcast.*$//g'`
5. NETMASK=`ifconfig eth0 |grep 'inet '|sed 's/^.*Mask://g'`
6. echo "$IP/$NETMASK"
7. exit
17.在命令行下發一郵件,發件人:123@abc.com,收信人:abc@xyz.com
二簡答題:
1.linux 下如何改IP地址,主機名及DNS
2.linux 下如何添加路由
3.簡述linux 下編譯內核的意義與步驟
4.簡述Linux 啓動過程
5.簡述DDOS ***的原理
6.簡述Tcp 三次握手的過程
7.簡述×××,常見有哪幾種?mysql

相關文章
相關標籤/搜索