如果你是一名開發人員、系統管理員,或是僅僅對 Linux 感興趣,那么這個列表是為你準備的。它包含了類 Unix 系統管理或編程職位面試中涉及 Linux 相關的所有常見問題。
Linux 是一種類似于 Unix 的操作系統,已有數十年的歷史,最初是基于 Unix 內核。Linux 是一種開源的操作系統,也就是說,它是免費提供的,任何有知識的人都可以對其進行修改。而且,它并不僅僅適用于你的臺式計算機——世界各地的服務器就跑著 Linux。
Linux 為我們提供了所有的動力,從我們的安卓智能手機到維持日常網站運行的網絡服務器。Linux 為超級計算機、世界頂級科技公司的企業數據中心以及介于兩者之間的一切都提供了動力。雖然 Linux 的知名度可能不如業界重量級的 Windows 那么高,但是 Linux 的歷史卻超過了 27 年。
在 Linux 的世界里,你必須了解一系列的命令才能和你的系統進行交互。我們一直在討論那些最關鍵的命令和它們的工作方式。
然而,Linux 曾經是軟件精英們的笑柄。但是今天,Linux 在操作系統領域的創新中處于最前沿。像谷歌、Facebook 這樣的硅谷巨頭都把 Linux 應用到了自己的集群和數據中心。這是怎么回事?
Linux 管理和其他操作系統一樣都是一個很大的主題。它的優勢在于開源并可以自由地使用,但是像所有的計算機系統一樣,要學會如何管理 Linux 是很困難的。
1期待面試官提出的 Linux 面試問題 問題 1:Linux 的基本元素或組件是什么?
Linux 一般包括以下五個基本元素或組件:
-
內核:Linux 的核心或者說主要部分,它通常承擔著操作系統的一切重要活動,比如進程管理、設備管理等等。
-
系統庫:是特殊的函數或程序,藉由這些函數或程序,應用程序或系統實用程序便可訪問內核的函數,而無需任何代碼。這僅僅是為了實現操作系統的功能。
-
系統實用程序:這些是實用程序,負責執行專門和個別級別的任務。它們被認為更負責任,并允許用戶管理計算機。
-
Shell:這是一個我們可以在里面運行命令、Shell 腳本和程序的環境。它是用戶和內核之間的一個接口,向用戶隱藏了內核的所有復雜功能。它被用來執行命令。
問題 2:LILO 是什么?
LILO 是指 Linux Loader,它用于 Linux 操作系統的啟動加載器。大多數 Linux 操作系統都是利用 LILO 來啟動操作系統進入主內存并開始運行。
問題 3:為什么需要 LVM?
LVM 是 Large Volume Management 的縮寫,它是一種存儲管理設備。用戶可以創建、調整大小和刪除 LVM 分區。它增加了抽象性、靈活性和控制力。LVM 用于將現有的存儲設備聚集到組中,并分配邏輯單元。
問題 4:Linux 有哪些不同的網絡 bond 模式?
Linux 網絡 bond 的不同模式
-
模式 -0(balance-rr):它是默認模式,基于 Round-Robin(循環)策略。它提供了容錯和負載平衡功能。它使用輪流的方式來傳輸數據包。
-
模式 -1(active-backup):它基于 Active Backup(主動備份)策略,只有一個從屬設備將在 band 內行動,當其他從屬設備在 band 內發生故障時,另一個從屬設備將采取行動。它還提供容錯功能。
-
模式 -2(balance-xor):它在源 Mac 地址和目標 Mac 地址之間設置一個 xor 模式,以提供容錯功能。
-
模式 3(broadcast):它基于 broadcast(廣播)策略,在從屬接口中傳輸一切。它也提供了容錯功能,并且只能用于特定目的。
-
模式 4(802.3ad):這是一種動態聚合模式,它創建了具有相同速度的聚合組。它使用發送散列法來選擇出站流量的從站。
-
模式 5(balance-TLB):出站流量是根據從站的當前負載,而入站流量則由從站接收。這被稱為自適應傳輸負載平衡模式。
-
模式 -6(balance-alb):它是一種自適應負載平衡模式。它不需要任何交換機的支持。
問題 5:SMTP、DNS、FTP、DHCP、SSH 和 squid 使用的默認端口是什么?
細節如下:
問題 6:如何從 Linux 系統中刪除文件或目錄?
rm 命令:用于刪除命令行上指定的目錄或文件。刪除任何文件或目錄時都需要小心。
語法:
rm 文件名——
問題 7:解釋 Linux 中的 rmdir 命令?
rmdir 命令:用于刪除命令行中指定的每個目錄。
語法:
rmdir [-p] [-v | –verbose] [–ignore-fail-on-non-empty] 目錄
問題 8:Linux 管道是什么意思?
它是 Linux 中使用的一種重定向形式,用于組合兩個以上的命令,一個命令的輸出可作為下一個命令的輸入。
語法:
命令 1|命令 2|命令 3|……|命令 N
問題 9:什么是僵尸進程?
它是一個執行已經完成但即使信息也存在于進程表中的進程。因為父進程需要讀取子進程的狀態,所以發生在子進程中。一旦使用 wait 系統調用完成,僵尸進程就會從進程表中移除。這就是所謂的僵尸進程。
問題 10:解釋無狀態 Linux 服務器的特性?
無狀態 Linux 服務器的特點:
-
存儲每個系統的原型。
-
儲存所拍攝的快照。
-
存儲主目錄。
-
使用 LDAP,它包含關于哪個快照應該在哪個系統上運行的信息。
問題 11:如何在有限的時間內運行命令?
使用此命令:timeout 10s ./script.sh
# 每 30 分鐘重新啟動一次
while true; do timeout 30m ./script.sh; done
問題 12:每次修改文件時,如何運行命令?
使用此命令執行:
while inotifywait -e close_write document.tex
do
make
done
問題 13:如何列出 tar.gz 的內容并只提取一個文件?
使用這些命令:
tar of file.tgz
tar xf file.tgz filename
問題 14:如何在 Linux 中獲取文件的完整路徑?
使用這個命令:
readlink -f file.txt
問題 15:如何限制命令的內存使用?
ulimit -Sv 1000 # 1000 KBs = 1 MB
ulimit -Sv unlimited # Remove limit
問題 16:Linux 和 Windows 之間有什么區別?
問題 17:Linux 中的 df 命令的用途是什么?
用戶可以使用 df 命令來排除磁盤空間的問題。這里 df 代表顯示可用磁盤空間。
df 命令示例:
df -h
問題 18:Linux 中的 du 命令的用途是什么?
Linux 中的 du 命令用于檢索更詳細的信息,即哪些文件使用了一個目錄中的磁盤空間。
du 命令示例:
$ du -sh /var/log/*
1.8M /var/log/anaconda
384K /var/log/audit
4.0K /var/log/boot.log
0 /var/log/chrony
4.0K /var/log/cron
4.0K /var/log/maillog
64K /var/log/messages
問題 19:Linux 的 env 命令的用途是什么?
env 命令允許用戶設置或打印環境變量。在故障排除過程中,用戶可以發現它對檢查錯誤的環境變量是否阻止你的應用程序啟動很有用。
env 命令示例:
$ env
PYTHON_PIP_VERSION=9.0.1
HOME=/root
DB_NAME=test
PATH=/usr/local/bin:/usr/local/sbin
LANG=C.UTF-8
PYTHON_VERSION=3.4.6
PWD=/
DB_URI=mongodb://database:27017/test
問題 20:Linux 中的 ps 命令的用途是什么?
ps 命令顯示進程狀態。使用該 ps 命令可以確定一個正在運行的應用程序或確認預期的進程。
ps 命令示例:
ps -ef ps -ef | grep tomcat
問題 21:Linux 中的 grep 命令的用途是什么?
grep 搜索文件模式。如果要在另一個命令的輸出中尋找特定的模式,grep 會突出顯示相關的行。使用這個 grep 命令搜索日志文件、特定進程等。
grep 命令示例:
$ cat tomcat.log | grep org. apache.Catalina.startup.Catalina.start
12-Jan-2018 1735.542 INFO [main] org.apache.Catalina.startup.Catalina.start Server startup in 681 ms
問題 22:Linux 中的 cat 命令的用途是什么?
在 Linux 中,cat 命令連接并打印文件。用戶可能會發出 cat 來檢查依賴項文件的內容,或者確認您已經在本地構建的應用程序的版本。
cat 命令示例:
cat requirements.txtflask
flask_pymongo
問題 23:Linux 中的 tail 命令的用途是什么?
tail 命令顯示文件的最后部分。一般來說,用戶不需要每條日志來排除故障。相反,你想檢查你的日志對你的應用程序的最近一次請求的描述。
tail 命令示例:
log/httpd/access_log tail -n 100 /var/
問題 24:為什么 Linux 被認為比其他操作系統更安全?
Linux 是一個開源的操作系統,如今它在技術市場上正在迅速發展。我們有幾個理由說明為什么 Linux 比其他操作系統更安全。
-
帳戶的好處:Linux 只允許少數用戶訪問系統。因此,病毒無法攻擊整個系統,它可能只對系統中的幾個文件造成影響。
-
強大的社區:Linux 用戶在打開文件之前首先完成了文件。因此,他們可以將自己的系統從漏洞中拯救出來。
-
Iptables:Iptables 被 Linux 使用,因為它可以檢查系統的安全圈。
-
不同的工作環境:Linux 系統有不同的工作環境,如 Linux Mint、Debian、Arch 等,這些工作環境可以防止病毒。
-
Linux 中的記錄:它保留了日志歷史,因為以后可以很容易地查看系統文件的細節。
-
用戶少:Linux 的用戶比其他系統少,因此安全性更高。
問題 25:解釋一下 Ctrl+Alt+Del 組合鍵在 Linux 上的工作原理。
在 Linux 中,使用 Ctrl + Alt + Del 鍵重新啟動計算機,在重新啟動系統之前不顯示任何確認消息。
問題 26:內部命令和外部命令是什么意思?
-
內部命令:由 shell 直接運行的命令被稱為內部命令,沒有單獨的進程來運行這些命令。
-
外部命令:由內核運行的命令被稱為外部命令,每一個命令都有它自己獨特的進程 ID。
問題 27:Bash 和 DOS 的區別是什么?
Bash 和 DOS 的區別如下:
問題 28:Linux 操作系統的特點有哪些?
以下是 Linux 操作系統的特點:
-
便攜:軟件可以在不同類型的硬件上以同樣的方式工作。它可以很容易地在 U 盤和存儲卡中攜帶。
-
開源:源代碼可以免費獲得,而且是基于社區的開發項目。
-
多用戶:多個用戶可以同時使用 RAM、應用程序和運行程序。
-
多任務處理:多個程序或應用程序可以同時運行。
-
Shell:它有一個特殊的解釋器程序,你可以執行系統的程序和命令。
-
安全性:它提供認證、授權和加密,為數據提供安全保障。
問題 29:我們為什么要使用 Linux?
我們理由有很多,在此列舉幾個重要的理由,如下:
-
高穩定性:它非常穩定,不會導致崩潰,它的運行速度和它第一次安裝時一樣快。
-
安全性:它是一個可靠的服務器,為用戶提供高安全性。在你的系統上使用 Linux,很容易避免病毒和惡意軟件。在用戶以根用戶身份登錄之前,攻擊者無法改變系統中的任何更改。
-
易于操作:Linux 很容易操作,我們可以很容易地把它安裝到系統上,因為所有的 Linux 變體都有自己的軟件庫。你只需點擊幾下就可以定期更新系統,或者你可以設置自動更新。
-
硬件兼容性:Linux 可以在任何硬件上使用,它沒有任何硬件限制。它能有效地使用所有的系統資源。
-
開源:它的源代碼是可用的,因為它屬于自由和開放源碼軟件(FOSS)。
問題 30:請列出一些 Linux 發行版及其用法?
我們有這么多的 Linux 發行版,在這些發行版中,我們討論幾個重要的發行版。
-
Linux Mint:它很穩定,很強大。Linux Mint 使用 Mate 桌面和 Cinnamon。
-
Debian:它代表著健壯性、穩定性和完善的發布周期。它是用戶友好的。Debian 8 將被 Debian 9 取代。
-
Ubuntu:它有桌面版和服務器版,是基于 Debian 的。
-
openSUSE:對于新用戶和現有用戶都是不錯的選擇。
-
Manjaro:它為新用戶和老用戶提供了愉快的體驗。
2總結
Linux 是一種可以在任何計算機上有效運行的操作系統。Linux 不僅是免費的,而且是開源的,這意味著它對如何使用或修改代碼沒有限制。
我們都知道 Linux 是幫助人們更好地使用和理解計算機的軟件。本文討論如何對一個精通 Linux 的人進行面試。Linux 以其穩定性和速度而聞名。一個 Linux 面試問題可能是一個好主意,可以幫助你決定它是否適合你的需要。
這些 Linux 面試問題和答案的文章將為你提供一些關于 Linux 職位面試時應該期待什么的見解。你將了解更多關于軟件、操作系統的歷史,以及如果你決定走這條路,你可能會獲得什么樣的認證!
審核編輯 :李倩
-
Linux
+關注
關注
87文章
11227瀏覽量
208922 -
服務器
+關注
關注
12文章
9020瀏覽量
85182 -
操作系統
+關注
關注
37文章
6738瀏覽量
123190
原文標題:我們為什么要使用 Linux ?附 30 道 Linux 面試題
文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論