Linux系統運維面試題,Linux運維經典面試題講解

這裏給你們整理了一些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: 345 85 15

description: httpd

而後保存,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 「useri-`echoRANDOM|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運維工程師都須要具有哪些技能和職業品質?

相關文章
相關標籤/搜索