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

千鋒雲端計算發表於2019-04-22

這裡給大家整理了一些Linux系統運維相關的面試題,有些問題沒有標準答案,希望要去參加Linux運維面試的朋友,可以先思考下這些問題。

1、Linux如何掛載windows下的共享目錄?

mount.cifs  //IP地址/server /mnt/server -o user=administrator,password=123456

linux 下的server需要自己手動建一個 後面的user與pass 是windows主機的賬號和密碼 注意空格 和逗號

2、如何檢視http的併發請求數與其TCP連線狀態?

netstat -n | awk ‘/^tcp/ {++b[$NF]}’ END {for(a in b) print a,b[a]}’

還有ulimit -n 檢視linux系統開啟最大的檔案描述符,這裡預設1024,不修改這裡web伺服器修改再大也沒用。若要用就修改很幾個辦法,這裡說其中一個:

修改/etc/security/limits.conf

* soft nofile 10240

* hard nofile 10240

重啟後生效

3、如何用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

4、如何檢視/var/log目錄下的檔案數?

ls /var/log/ -1R | grep “-” | wc -l

5、如何檢視Linux系統每個ip的連線數?

netstat -n | awk ‘/^tcp/ {print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -rn

6、shell下生成32位隨機密碼?

cat /dev/urandom | head -1 | md5sum | head -c 32 >> /pass

7、統計出apache的access.log中訪問量最多的5個ip?

cat access.log | awk ‘{print $1}’ | sort | uniq -c | sort -n -r | head -5

8、如何檢視二進位制檔案的內容?

我們一般透過hexdump命令 來檢視二進位制檔案的內容。

hexdump -C XXX(檔名) -C是引數 不同的引數有不同的意義

-C 是比較規範的 十六進位制和ASCII碼顯示

-c 是單位元組字元顯示

-b 單位元組八進位制顯示

-o 是雙位元組八進位制顯示

-d 是雙位元組十進位制顯示

-x 是雙位元組十六進位制顯示

9、ps aux 中的VSZ代表什麼意思,RSS代表什麼意思?

VSZ: 虛擬記憶體集,程式佔用的虛擬記憶體空間。

RSS: 實體記憶體集,程式戰用實際實體記憶體空間。

10、如何檢測並修復/dev/hda5?

fsck用來檢查和維護不一致的檔案系統。若系統掉電或磁碟發生問題,可利用fsck命令對檔案系統進行檢查。

11、介紹下Linux系統的開機啟動順序?

載入BIOS–>讀取MBR–>Boot Loader–>載入核心–>使用者層init一句inittab檔案來設定系統執行的等級(一般3或者5,3是多使用者命令列,5是介面)–>init程式執行rc.syninit–>啟動核心模組–>執行不同級別執行的指令碼程式–>執行/etc/rc.d/rc.local(本地執行服務)–>執行/bin/login,就可以登入了。

12、符號連結與硬連結的區別?

我們可以把符號連結,也就是軟連線,當做是 Windows系統裡的快捷方式。

硬連結 就好像是 又複製了一份,舉例說明:

ln 3.txt 4.txt 這是硬連結,相當於複製,不可以跨分割槽,但修改3,4會跟著變,若刪除3,4不受任何影響。

ln -s 3.txt 4.txt 這是軟連線,相當於快捷方式。修改4,3也會跟著變,若刪除3,4就壞掉了,不可以用了。

13、儲存當前磁碟分割槽的分割槽表?

dd if=/dev/sda of=./mbr.txt bs=1 count=512

14、如何在文字里面進行復制、貼上,刪除行,刪除全部,按行查詢和按字母查詢?

以下操作全部在命令列狀態操作,不要在編輯狀態操作。

在文字里移動到想要複製的行 按 yy 想複製到哪就移動到哪,然後按 P 就貼上了。

刪除行 移動到改行 按dd。

刪除全部 dG 這裡注意G一定要大寫。

按行查詢:90 這樣就是找到第90行。

按字母查詢 /path 這樣就是 找到path這個單詞所在的位置,文字里可能存在多個,多次查詢會顯示在不同的位置。

15、手動安裝grub?

grub-install /dev/sda

16、修改核心引數?

vi /etc/sysctl.conf 這裡修改引數

sysctl -p 重新整理後可用

17、在1-39內取隨機數?

expr $[RANDOM%39] +1

RANDOM隨機數

%39取餘數範圍0-38

18、限制apache每秒新建連線數為1,峰值為3?

每秒新建連線數一般都是由防火牆來做,apache本身好像無法設定每秒新建連線數,只能設定最大連線:

iptables -A INPUT -d 172.16.100.1 -p tcp –dport 80 -m limit –limit 1/second -j ACCEPT

19、FTP的主動模式和被動模式

FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。

PORT(主動)方式的連線過程是:客戶端向伺服器的FTP埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。當需要傳送資料時,客戶端在命令鏈路上用 PORT 命令告訴伺服器:“我開啟了XX埠,你過來連線我”。於是伺服器從20埠向客戶端的 XX 埠傳送連線請求,建立一條資料鏈路來傳送資料。

PASV(被動)方式的連線過程是:客戶端向伺服器的FTP埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。當需要傳送資料時,伺服器在命令鏈路上用 PASV 命令告訴客戶端:“我開啟了XX埠,你過來連線我”。於是客戶端向伺服器的 XX 埠傳送連線請求,建立一條資料鏈路來傳送資料。

從上面可以看出,兩種方式的命令鏈路連線方法是一樣的,而資料鏈路的建立方法就完全不同。

20、顯示/etc/inittab中以#開頭,且後面跟了一個或者多個空白字元,而後又跟了任意非空白字元的行?

grep “^ #{1,}[^]” /etc/inittab

21、顯示/etc/inittab中包含了:一個數字:(即兩個冒號中間一個數字)的行?

grep “:[0-9]{1}:” /etc/inittab

22、怎麼把指令碼新增到系統服務裡,即用service來呼叫?

在指令碼里加入:

#!/bin/bash

# chkconfig: 345 85 15

# description: httpd

然後儲存,chkconfig httpd –add 建立系統服務,現在就可以使用service 來 start or restart。

23、寫一個指令碼,實現批次新增20個使用者,使用者名稱為user01-20,密碼為user後面跟5個隨機字元?

#!/bin/bash

#description: useradd

for i in `seq -f”%02g” 1 20`;do

useradd user$i

echo “user$i-`echo $RANDOM|md5sum|cut -c 1-5`”|passwd –stdinuser$i >/dev/null 2>&1

done

24、寫一個指令碼,實現判斷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

25、寫一個指令碼,判斷一個指定的指令碼是否是語法錯誤;如果有錯誤,則提醒使用者鍵入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

26、寫一個指令碼,要求如何?

建立一個函式,能接受兩個引數:

1)第一個引數為URL,即可下載的檔案;第二個引數為目錄,即下載後儲存的位置;

2)如果使用者給的目錄不存在,則提示使用者是否建立;如果建立就繼續執行,否則,函式返回一個51的錯誤值給呼叫指令碼;

3)如果給的目錄存在,則下載檔案;下載命令執行結束後測試檔案下載成功與否;如果成功,則返回0給呼叫指令碼,否則,返回52給呼叫指令碼。

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

另外再給大家分享一份試題,不妨自己試著做一下:

一、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 * ,會有哪些情況發生?請舉例。

二、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組的命令是?

三、Linux磁碟及軟體管理操作

1.如何新增一塊新的50G硬碟到linux伺服器系統作為單獨的分割槽,並正在使用?需要哪些操作步驟?

2.有個金士頓隨身碟,需要往伺服器/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 的程式。

四、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個網站,訪問的域名分別為 test.a1.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 pop3、dhcp、nfs、mysql、samba等服務。

14.Mysql建立資料庫的命令,建立表的命令,插入語句的命令?

15.Mysql備份命令?Mysql如何給root使用者對jfedu授權訪問,密碼為jfedu.net,請寫出命令?

16.Mysql忘記密碼該如何操作呢?

17.Linux運維工程師都需要具備哪些技能和職業品質?


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69916964/viewspace-2642188/,如需轉載,請註明出處,否則將追究法律責任。

相關文章