1. 程式人生 > >Linux運維工程師:20道面試

Linux運維工程師:20道面試

1、如何檢視當前的Linux伺服器的執行級別?

who -r和 runlevel 命令可以用來檢視當前的Linux伺服器的執行級別。

 

2、如何檢視Linux的預設閘道器?

用 route -n和 netstat -nr 命令,我們可以檢視預設閘道器。除了預設的閘道器資訊,這兩個命令還可以顯示當前的路由表。

 

3、如何在linux上重建初始化記憶體盤映象檔案?

在CentOS 5.X / RHEL 5.X中,可以用mkinitrd命令來建立初始化記憶體盤檔案,舉例如下:

 

# mkinitrd -f -v /boot/initrd-$(uname -r).img $(uname -r)

如果你想要給特定的核心版本建立初始化記憶體盤,你就用所需的核心名替換掉 uname -r。

在CentOS 6.X / RHEL 6.X中,則用dracut命令來建立初始化記憶體盤檔案,舉例如下:

 

# dracut -f

以上命令能給當前的系統版本建立初始化記憶體盤,給特定的核心版本重建初始化記憶體盤檔案則使用以下命令:

 

# dracut -f initramfs-2.x.xx-xx.el6.x86_64.img 2.x.xx-xx.el6.x86_64

 

4、cpio命令是什麼?

cpio就是複製入和複製出的意思。cpio可以向一個歸檔檔案(或單個檔案)複製檔案、列表,還可以從中提取檔案。

 

5、patch命令是什麼?如何使用?

顧名思義,patch命令就是用來將修改(或補丁)寫進文字檔案裡。patch命令通常是接收diff的輸出並把檔案的舊版本轉換為新版本。舉個例子,Linux核心原始碼由百萬行程式碼檔案構成,所以無論何時,任何程式碼貢獻者貢獻出程式碼,只需傳送改動的部分而不是整個原始碼,然後接收者用patch命令將改動寫進原始的原始碼裡。

建立一個diff檔案給patch使用,

 

# diff -Naur old_file new_file > diff_file

舊檔案和新檔案要麼都是單個的檔案要麼都是包含檔案的目錄,-r引數支援目錄樹遞迴。

一旦diff檔案建立好,我們就能在舊的檔案上打上補丁,把它變成新檔案:

 

# patch < diff_file

 

6、aspell有什麼用 ?

顧名思義,aspell就是Linux作業系統上的一款互動式拼寫檢查器。aspell命令繼任了更早的一個名為ispell的程式,並且作為一款免費替代品,最重要的是它非常好用。當aspell程式主要被其它一些需要拼寫檢查能力的程式所使用的時候,在命令列中作為一個獨立執行的工具的它也能十分有效。

 

7、如何從命令列檢視域SPF記錄?

我們可以用dig命令來檢視域SPF記錄。舉例如下:

 

[email protected]:~$ dig -t TXT google.com

 

8、如何識別Linux系統中指定檔案(/etc/fstab)的關聯包?

 

# rpm -qf /etc/fstab

以上命令能列出提供/etc/fstab這個檔案的包。

 

9、哪條命令用來檢視bond0的狀態?

cat /proc/net/bonding/bond0

 

10、linux系統中的/proc檔案系統有什麼用?

/proc檔案系統是一個基於記憶體的檔案系統,其維護著關於當前正在執行的核心狀態資訊,其中包括CPU、記憶體、分區劃分、I/O地址、直接記憶體訪問通道和正在執行的程序。這個檔案系統所代表的並不是各種實際儲存資訊的檔案,它們指向的是記憶體裡的資訊。/proc檔案系統是由系統自動維護的。

 

11、如何在/usr目錄下找出大小超過10MB的檔案?

# find /usr -size +10M

 

12、如何在/home目錄下找出120天之前被修改過的檔案?

# find /home -mtime +120

 

13、如何在/var目錄下找出90天之內未被訪問過的檔案?

 

# find /var \! -atime -90

 

14、在整個目錄樹下查詢檔案”core”,如發現則無需提示直接刪除它們。

 

# find / -name core -exec rm {} \;

 

15、strings命令有什麼作用?

strings命令用來提取和顯示非文字檔案中的文字字串。(LCTT 譯註:當用來分析你係統上莫名其妙出現的二進位制程式時,可以從中找到可疑的檔案訪問,對於追查入侵有用處)

 

16、tee 過濾器有什麼作用 ?

tee 過濾器用來向多個目標傳送輸出內容。如果用於管道的話,它可以將輸出複製一份到一個檔案,並複製另外一份到螢幕上(或一些其它程式)。

[email protected]:~$ ll /etc | nl | tee /tmp/ll.out

在以上例子中,從ll輸出可以捕獲到 /tmp/ll.out 檔案中,並且同樣在螢幕上顯示了出來。

 

17、export PS1 = "[email protected]:\$PWD:" 這條命令是在做什麼?

這條export命令會更改登入提示符來顯示使用者名稱、本機名和當前工作目錄。

 

18、ll | awk '{print $3,"owns",$9}' 這條命令是在做什麼?

這條ll命令會顯示這些檔案的檔名和它們的擁有者。

 

19、linux中的at命令有什麼用?

at命令用來安排一個程式在未來的做一次一次性執行。所有提交的任務都被放在 /var/spool/at 目錄下並且到了執行時間的時候通過atd守護程序來執行。

 

20、linux中lspci命令的作用是什麼?

lspci命令用來顯示你的系統上PCI匯流排和附加裝置的資訊。指定-v,-vv 或-vvv來獲取越來越詳細的輸出,加上-r引數的話,命令的輸出則會更具有易讀性。