1. 程式人生 > >Linux 面試最常問的十個問題

Linux 面試最常問的十個問題

如果你要去面試一個Linux系統運維工程師的職位,下面這十個最常見的問題一定要會,否則你的面試可能就危險了。這些都是比較基本的問題,大家要理解,不能光死記硬背。

  

1、如何檢視系統核心的版本

 

這裡有兩種方法:

1) uname -a

uname 這個命令是用來列印系統資訊的, -a 可以列印系統所有資訊,其中包含核心版本,比如我的版本號是3.10.0-957.21.3.el7.X86_64。

 

2) cat /proc/version

 

下面再補充一下各個數字和字母代表的含義:

  • 3 表示主版本號,有結構性變化才更改 (最新的是5)

  • 10 表示次版本號,新增功能才會變化,一般基數表示測試版,偶數表示穩定版。2020年3月30日,Linus Torvalds 釋出了最新的 Linux 核心版本為 5.6

  • 0 表示對次版本的修訂次數或補丁包數

  • 957 代表編譯的次數,每次編譯可對少數程式優化或修改

  • el7 用來表示版本的特殊資訊,有較大的隨意性;el 代表企業版,pp代表測試版,fc代表 Fedora core,rc代表候選版本

  • X86_64 表示64位

 

 2、如何檢視系統當前的 IP 地址

 

也有兩種方法:

1)ifconfig -a

ifconfig 是用來配置網路介面的命令,-a 可以顯示當前所有的介面。

 

2)ip addr show

 

 

3、如何檢視磁碟還有多少剩餘空間

 

這裡主要可以用 df -ah 命令來檢視,df 是用來檢視檔案系統磁碟空間使用情況的命令,-a 顯示所有檔案系統,-h 用人們可讀的方式進行顯示。

上面可以看到我的磁碟 /dev/vda1 有40 G,已經用了1.7 G,還有 36 G的可用空間。

 

 

4、如何在系統中管理服務

 

這裡別人可能會問你,如何檢視一個服務是否在執行,如何啟動、停止、或重新載入配置檔案。這裡答案也有兩種。

 

1) 使用 service 命令

 

  • 檢視服務狀態

    service [servicename] status

     

  • 啟動/停止/重啟服務 

    service [servicename] [start|stop|restart]

     

  • 重新載入服務配置檔案(不重啟服務)

    service [servicename] [reload]

 

比如我想檢視一下 sshd 的服務有沒有開啟

 

2)使用 systemctl 命令

比較新的系統都已經採用了 systemd,systemctl 是systemd的一個工具,主要負責控制systemd系統和服務管理器。

  • 檢視服務狀態

    systemctl status [servicename]

     

  • 啟動/停止/重啟服務 

    systemctl [start|stop|restart] [servicename]

     

  • 重新載入服務配置檔案(不重啟服務)

    systemctl [reload] [servicename]

     

 

5、如何檢視一個目錄的大小

 

可以使用 du -sh [目錄] 命令,du 使用來計算檔案/目錄大小的命令,-s 顯示檔案或整個目錄的大小,-h 是用可讀格式。

比如上面我查看了一下我的主目錄下tmp目錄的大小,一共有80 K

  

6、如何檢視你係統中開放的埠號

 

1) 使用 netstat 命令

netstat命令用來顯示網路狀態,包括網路連線、路由表、介面統計等資訊。常用的引數如下:

-a (all) 顯示所有選項,預設不顯示LISTEN相關。

-t (tcp) 僅顯示tcp相關選項。

-u (udp) 僅顯示udp相關選項。

-n 拒絕顯示別名,能顯示數字的全部轉化成數字。

-l 僅列出有在 Listen (監聽) 的服務狀態。

-p 顯示建立相關連結的程式名

-r 顯示路由資訊,路由表

-e 顯示擴充套件資訊,例如uid等

-s 按各個協議進行統計

-c 每隔一個固定時間,執行該netstat命令。

 

下面我用了 netstat -tulpn 命令,可以看到埠 22正在被監聽。

 

2)使用 ss 命令

現在也有很多人用 ss 命令,ss 一般用於轉儲套接字統計資訊。它還可以顯示所有型別的套接字統計資訊,包括 PACKET、TCP、UDP、DCCP、RAW、Unix 域等。這裡可以用 ss -lntpd

  

7、如何檢視某個程序對 CPU 的使用情況

 

1) 可以使用 top 命令

top命令是Linux下常用的效能分析工具,能夠實時顯示系統中各個程序的資源佔用狀況,類似於Windows的工作管理員。

 

2) 使用 ps 命令

ps aux 可以顯示所有使用者的程序,最常用的方法是ps aux,然後再利用一個管道符號導向到grep去查詢特定的程序。比如檢視nginx 程序可以用 

ps aux | grep nginx

 

 

8、Linux裡如何來做掛載

 

這裡主要考的是 mount 命令,用於掛載Linux系統外的檔案。

只輸入 mount命令可以檢視所有系統已經掛載的檔案。

如果想掛載一個新的檔案,比如將 /dev/hda1 掛在 /mnt 之下,可以用 

mount /dev/hda1 /mnt

 

 9、如何檢視一些你不太熟悉的命令

 

這裡要考大家的是使用 man 命令。對某個 Linux的命令不熟悉,可以用 man <命令 >,系統會返回該命令的一個非常詳細的手冊,來幫助大家使用。

 

 

10、如果使用了 man 命令還是找不到答案怎麼辦

 

百度,或者在論壇、社群裡求助大神......

 

 

當然,只掌握上面這十個基本問題還是遠遠不夠的。大家在平時的工作和學習中要注重積累;在面試前將自己的經歷、重要的知識點作好梳理和充分的準備;在面試當中調整好心態,從容回答問題,邏輯要清晰,表達要清楚。最後祝大家都能找到自己理想的工作。

 

 

&n