1. 程式人生 > >Linux系統運維面試題,Linux運維經典面試題講解

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

就是 手動安裝 soft %d stat boot art grep asc

這裏給大家整理了一些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打開這個指定的腳本?

[[email protected] 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操作系統知識

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.有個金士頓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 的進程。

四、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 pop3、dhcp、nfs、mysql、samba等服務。

14.Mysql創建數據庫的命令,創建表的命令,插入語句的命令?

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

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

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

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