Linux 面試最常問的十個問題

若是你要去面試一個Linux系統運維工程師的職位,下面這十個最多見的問題必定要會,不然你的面試可能就危險了。這些都是比較基本的問題,你們要理解,不能光死記硬背。nginx

  

一、如何查看系統內核的版本面試

 

這裏有兩種方法:網絡

1) uname -a運維

uname 這個命令是用來打印系統信息的, -a 能夠打印系統全部信息,其中包含內核版本,好比個人版本號是3.10.0-957.21.3.el7.X86_64。ssh

 

2) cat /proc/versiontcp

 

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

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

  • 10 表示次版本號,新增功能纔會變化,通常基數表示測試版,偶數表示穩定版。2020年3月30日,Linus Torvalds 發佈了最新的 Linux 內核版本爲 5.6學習

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

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

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

  • X86_64 表示64位

 

 二、如何查看系統當前的 IP 地址

 

也有兩種方法:

1)ifconfig -a

ifconfig 是用來配置網絡接口的命令,-a 能夠顯示當前全部的接口。

 

2)ip addr show

 

 

三、如何查看磁盤還有多少剩餘空間

 

這裏主要能夠用 df -ah 命令來查看,df 是用來查看文件系統磁盤空間使用狀況的命令,-a 顯示全部文件系統,-h 用人們可讀的方式進行顯示。

上面能夠看到個人磁盤 /dev/vda1 有40 G,已經用了1.7 G,還有 36 G的可用空間。

 

 

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

 

這裏別人可能會問你,如何查看一個服務是否在運行,如何啓動、中止、或從新加載配置文件。這裏答案也有兩種。

 

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]

     

 

五、如何查看一個目錄的大小

 

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

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

  

六、如何查看你係統中開放的端口號

 

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

  

七、如何查看某個進程對 CPU 的使用狀況

 

1) 可使用 top 命令

top命令是Linux下經常使用的性能分析工具,可以實時顯示系統中各個進程的資源佔用情況,相似於Windows的任務管理器。

 

2) 使用 ps 命令

ps aux 能夠顯示全部使用者的進程,最經常使用的方法是ps aux,而後再利用一個管道符號導向到grep去查找特定的進程。好比查看nginx 進程能夠用 

ps aux | grep nginx

 

 

八、Linux裏如何來作掛載

 

這裏主要考的是 mount 命令,用於掛載Linux系統外的文件。

只輸入 mount命令能夠查看全部系統已經掛載的文件。

若是想掛載一個新的文件,好比將 /dev/hda1 掛在 /mnt 之下,能夠用 

mount /dev/hda1 /mnt

 

 九、如何查看一些你不太熟悉的命令

 

這裏要考你們的是使用 man 命令。對某個 Linux的命令不熟悉,能夠用 man <命令 >,系統會返回該命令的一個很是詳細的手冊,來幫助你們使用。

 

 

十、若是使用了 man 命令仍是找不到答案怎麼辦

 

百度,或者在論壇、社羣裏求助大神......

 

 

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

 

 

相關文章
相關標籤/搜索