這裏給你們整理了一些Linux系統運維相關的面試題,有些問題沒有標準答案,但願要去參加Linux運維面試的朋友,能夠先思考下這些問題。html
一、Linux如何掛載windows下的共享目錄?mysql
mount.cifs //IP地址/server /mnt/server -o user=administrator,password=123456linux
linux 下的server須要本身手動建一個 後面的user與pass 是windows主機的帳號和密碼 注意空格 和逗號web
二、如何查看http的併發請求數與其TCP鏈接狀態?面試
netstat -n | awk ‘/^tcp/ {++b[$NF]}’ END {for(a in b) print a,b[a]}’sql
還有ulimit -n 查看linux系統打開最大的文件描述符,這裏默認1024,不修改這裏web服務器修改再大也沒用。若要用就修改很幾個辦法,這裏說其中一個:shell
修改/etc/security/limits.conf數據庫
soft nofile 10240apache
hard nofile 10240vim
重啓後生效
三、如何用tcpdump嗅探80端口的訪問看看誰最高?
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F」.」 ‘{print $1″.」$2″.」$3″.」$4″.」}’ | sort |uniq -c | sort -nr | head-5
四、如何查看/var/log目錄下的文件數?
ls /var/log/ -1R | grep 「-」 | wc -l
五、如何查看Linux系統每一個ip的鏈接數?
netstat -n | awk ‘/^tcp/ {print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -rn
六、shell下生成32位隨機密碼?
cat /dev/urandom | head -1 | md5sum | head -c 32 >> /pass
七、統計出apache的access.log中訪問量最多的5個ip?
cat access.log | awk ‘{print $1}’ | sort | uniq -c | sort -n -r | head -5
八、如何查看二進制文件的內容?
咱們通常經過hexdump命令 來查看二進制文件的內容。
hexdump -C XXX(文件名) -C是參數 不一樣的參數有不一樣的意義
-C 是比較規範的 十六進制和ASCII碼顯示
-c 是單字節字符顯示
-b 單字節八進制顯示
-o 是雙字節八進制顯示
-d 是雙字節十進制顯示
-x 是雙字節十六進制顯示
九、ps aux 中的VSZ表明什麼意思,RSS表明什麼意思?
VSZ:虛擬內存集,進程佔用的虛擬內存空間。
RSS:物理內存集,進程戰用實際物理內存空間。
十、如何檢測並修復/dev/hda5?
fsck用來檢查和維護不一致的文件系統。若系統掉電或磁盤發生問題,可利用fsck命令對文件系統進行檢查。
十一、介紹下Linux系統的開機啓動順序?
加載BIOS–>讀取MBR–>Boot Loader–>加載內核–>用戶層init一句inittab文件來設定系統運行的等級(通常3或者5,3是多用戶命令行,5是界面)–>init進程執行rc.syninit–>啓動內核模塊–>執行不一樣級別運行的腳本程序–>執行/etc/rc.d/rc.local(本地運行服務)–>執行/bin/login,就能夠登陸了。
十二、符號連接與硬連接的區別?
咱們能夠把符號連接,也就是軟鏈接,當作是 Windows系統裏的快捷方式。
硬連接 就好像是 又複製了一份,舉例說明:
ln 3.txt 4.txt 這是硬連接,至關於複製,不能夠跨分區,但修改3,4會跟着變,若刪除3,4不受任何影響。
ln -s 3.txt 4.txt 這是軟鏈接,至關於快捷方式。修改4,3也會跟着變,若刪除3,4就壞掉了,不能夠用了。
1三、保存當前磁盤分區的分區表?
dd if=/dev/sda of=./mbr.txt bs=1 count=512
1四、如何在文本里面進行復制、粘貼,刪除行,刪除所有,按行查找和按字母查找?
如下操做所有在命令行狀態操做,不要在編輯狀態操做。
在文本里移動到想要複製的行 按 yy 想複製到哪就移動到哪,而後按 P 就粘貼了。
刪除行 移動到改行 按dd。
刪除所有 dG 這裏注意G必定要大寫。
按行查找:90 這樣就是找到第90行。
按字母查找 /path 這樣就是 找到path這個單詞所在的位置,文本里可能存在多個,屢次查找會顯示在不一樣的位置。
1五、手動安裝grub?
grub-install /dev/sda
1六、修改內核參數?
vi /etc/sysctl.conf 這裏修改參數
sysctl -p 刷新後可用
1七、在1-39內取隨機數?
expr $[RANDOM%39] +1
RANDOM隨機數
%39取餘數範圍0-38
1八、限制apache每秒新建鏈接數爲1,峯值爲3?
每秒新建鏈接數通常都是由防火牆來作,apache自己好像沒法設置每秒新建鏈接數,只能設置最大鏈接:
iptables -A INPUT -d 172.16.100.1 -p tcp –dport 80 -m limit –limit 1/second -j ACCEPT
1九、FTP的主動模式和被動模式
FTP協議有兩種工做方式:PORT方式和PASV方式,中文意思爲主動式和被動式。
PORT(主動)方式的鏈接過程是:客戶端向服務器的FTP端口(默認是21)發送鏈接請求,服務器接受鏈接,創建一條命令鏈路。當須要傳送數據時,客戶端在命令鏈路上用 PORT 命令告訴服務器:「我打開了XX端口,你過來鏈接我」。因而服務器從20端口向客戶端的 XX 端口發送鏈接請求,創建一條數據鏈路來傳送數據。
PASV(被動)方式的鏈接過程是:客戶端向服務器的FTP端口(默認是21)發送鏈接請求,服務器接受鏈接,創建一條命令鏈路。當須要傳送數據時,服務器在命令鏈路上用 PASV 命令告訴客戶端:「我打開了XX端口,你過來鏈接我」。因而客戶端向服務器的 XX 端口發送鏈接請求,創建一條數據鏈路來傳送數據。
從上面能夠看出,兩種方式的命令鏈路鏈接方法是同樣的,而數據鏈路的創建方法就徹底不一樣。
20、顯示/etc/inittab中以#開頭,且後面跟了一個或者多個空白字符,然後又跟了任意非空白字符的行?
grep 「^#{1,}[^]」 /etc/inittab
2一、顯示/etc/inittab中包含了:一個數字:(即兩個冒號中間一個數字)的行?
grep 「:[0-9]{1}:」 /etc/inittab
2二、怎麼把腳本添加到系統服務裏,即用service來調用?
在腳本里加入:
#!/bin/bash
而後保存,chkconfig httpd –add 建立系統服務,如今就可使用service 來 start or restart。
2三、寫一個腳本,實現批量添加20個用戶,用戶名爲user01-20,密碼爲user後面跟5個隨機字符?
#!/bin/bash
#description: useradd
for i in seq -f」%02g」 1 20
;do
useradd user$i
echo 「userRANDOM|md5sum|cut -c 1-5`」|passwd –stdinuser$i >/dev/null 2>&1
done
2四、寫一個腳本,實現判斷192.168.1.0/24網絡裏,當前在線的IP有哪些,能ping通則認爲在線?
#!/bin/bash
for ip in seq 1 255
do
ping -c 1 192.168.1.$ip > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo 192.168.1.$ip UP
else
echo 192.168.1.$ip DOWN
fi
}&
done
wait
2五、寫一個腳本,判斷一個指定的腳本是不是語法錯誤;若是有錯誤,則提醒用戶鍵入Q或者q無視錯誤並退出其它任何鍵能夠經過vim打開這個指定的腳本?
[root@localhost tmp]# cat checksh.sh
#!/bin/bash
read -p 「please input check script-> 」 file
if [ -f $file ]; then
sh -n $file > /dev/null 2>&1
if [ $? -ne 0 ]; then
read -p 「You input $file syntax error,[Type q to exit or Type vim to edit]」 answer
case $answer in
q | Q)
exit 0
;;
vim )
vim $file
;;
*)
exit 0
;;
esac
fi
else
echo 「$file not exist」
exit 1
fi
2六、寫一個腳本,要求如何?
建立一個函數,能接受兩個參數:
1)第一個參數爲URL,便可下載的文件;第二個參數爲目錄,即下載後保存的位置;
2)若是用戶給的目錄不存在,則提示用戶是否建立;若是建立就繼續執行,不然,函數返回一個51的錯誤值給調用腳本;
3)若是給的目錄存在,則下載文件;下載命令執行結束後測試文件下載成功與否;若是成功,則返回0給調用腳本,不然,返回52給調用腳本。
另外再給你們分享一份試題,不妨本身試着作一下:
1、Linux操做系統知識
1.常見的Linux發行版本都有什麼?你最擅長哪個?它的官網網站是什麼?說明你擅長哪一塊?
2.Linux開機啓動流程詳細步驟是什麼?系統安裝完,忘記密碼如何破解?
3.企業中Linux服務器系統分區標準是什麼?(以硬盤爲300G,內存16G爲例)
4.某一天忽然發現Linux系統文件只讀,該怎麼辦呢?完整操做步驟。
5.安裝一臺系統使用DVD光盤安裝,如何安裝50臺Linux系統如何安裝呢?思考一下。
6.用虛擬機安裝了一臺Linux系統,忽然想克隆一臺服務器,克隆後發現沒法上網,如何解決?
7.Linux網卡配置文件路徑是什麼?要使服務器上外網,必須知足的條件有哪些?須要配置什麼?
8.通常可使用什麼軟件遠程linux服務器?經過什麼上傳文件和下載文件?
9./mnt目錄主要用於什麼?/root目錄跟root用戶有什麼關係?/根目錄與/boot目錄有什麼聯繫?
10.某一天誤操做,執行了rm -rf * ,會有哪些狀況發生?請舉例。
2、Linux命令及文件操做
1.在/tmp/目錄下建立test.txt文件,內容爲: Hello,World! ,用一個命令寫出來。
2.給test.txt文件除全部者以外增長執行權限,最終以數字寫出文件的權限。
3.用vi命令編輯test.txt,如何跳轉到末行,首行,行首、行末,如何在光標行下一行插入,如何複製5行,刪除10行,查找jingfeng的字符、把jingfeng替換爲jfedu.net
4.查找linux系統下以txt結尾,30天沒有修改的文件大小大於20K同時具備執行權限的文件並備份到/data/backup/目錄下。
5.當前test.txt所屬的用戶爲root,組爲abc,請將test.txt使擁有者爲abc,組爲root,寫出命令。
6.如何修改Linux啓動級別爲字符模式並永久生效,如何臨時、永久關閉selinux及防火牆,請分別寫出操做方法。
7.每次開機在/tmp目錄下建立一個當天的日期文件夾(提示:當前日期表示的方法爲:date +%Y%m%d
)
8.如何查看文件內容,命令有哪些?查看文件第1行到3行,查看文件最後一行。
9.查看linux服務器IP的命令,同時只顯示包含ip所在的行打印出來。
10.將普通用戶test加入root組的命令是?
3、Linux磁盤及軟件管理操做
1.如何添加一塊新的50G硬盤到linux服務器系統做爲單獨的分區,並正在使用?須要哪些操做步驟?
2.有個金士頓U盤,須要往服務器/var/www/html/目錄下上傳一個index.html文件,如何操做並完成。
3.有一塊移動硬盤,上面有300G數據,如何快速cp到linux服務器?
4.光盤裏面有一個httpd-2.2.15.xx.rpm包,如何掛載並安裝呢?
5.使用rpm命令安裝、卸載、刪除、更新ntp-0.7.12.x86_64.rpm這個軟包。
6./var/www/html/是網站的發佈目錄,如何天天凌晨0點30對其進行自動備份,寫出操做步驟?
7.使用tar命令打包並壓縮/root目錄,而後移動到/tmp下,將其權限設置其餘人只讀。
8.Yum命令與rpm命令的區別?如何使用rpm安裝一個有依賴的包?
9.在這個月內,天天的早上 6 點到 12 點中,每隔 2 小時建立一個test.txt文件,內容爲ok,如何實現?
10.將/usr/local/test目錄下大於100K 的文件轉移到/tmp 目錄下。
11.簡述 raid0 raid1 raid5三種工做模式的工做原理及特色。
12.如何查看佔用端口 8080 的進程。
4、Linux服務配置及管理
1.請寫出 apache2.X 版本的兩種工做模式,以及各自工做原理。如何查看apache 當前所支持的模塊,而且查看是工做在哪一種模式下?
2.Linux下nfs在客戶端沒法掛載,請寫出排查步驟?
3.Linux下已經部署了dhcp服務器,客戶端沒法獲取的IP,如何解決?
4.常見的FTP軟件有哪些?Linux最經常使用的是?如何共享一個資源讓他人使用用戶名和密碼訪問?
5.如何禁止FTP使用匿名用戶登陸?命令行如何訪問ftp服務器?
6.ApacheWEB服務器的發佈目錄在哪裏?
7.ApacheWEB服務器有幾種工做模式,每種模式的簡單區別?
8.MySQL服務器的用途是?Apache和mysql能夠安裝在一臺機器嗎?如何查看apache和mysql端口和進程?
9.如何在虛擬機上面部署4個網站,訪問的域名分別爲www.a1.com test.a1.com www.a2.com test.a2.com?
10.假設 Apache 產生的日誌文件名爲access_log,在 apache 正在運行時,執行命令 mv access_log access_log.bak,執行完後,請問新的 apache的日誌會打印到哪裏,爲何?
11.咱們都知道 FTP 協議有兩種工做模式,說說它們的大概的一個工做流程?
12.Linux內核引導時,從哪一個文件中讀取要加載的文件系統。
13.寫出下面服務的經常使用端口ftp http dns snmp pop三、dhcp、nfs、mysql、samba等服務。
14.Mysql建立數據庫的命令,建立表的命令,插入語句的命令?
15.Mysql備份命令?Mysql如何給root用戶對jfedu受權訪問,密碼爲jfedu.net,請寫出命令?
16.Mysql忘記密碼該如何操做呢?
17.Linux運維工程師都須要具有哪些技能和職業品質?