30 個(gè)最常見(jiàn)的 Linux 面試問(wèn)題
如果您已經(jīng)獲得了 Linux 認(rèn)證并期待獲得一份 Linux 工作,那么準(zhǔn)備一次面試是值得的,該面試將測(cè)試您對(duì) Linux 的全面了解。
在本指南中,我們介紹了 Linux 訪談中一些最常見(jiàn)的問(wèn)題和答案。
目錄
1.什么是Linux?
Linux 是一個(gè)基于 UNIX 的免費(fèi)開(kāi)源操作系統(tǒng)。它于 1991 年由 Linux Torvalds 首次發(fā)布。開(kāi)發(fā) Linux 的目的是為 Windows 和 macOS 等專有系統(tǒng)提供免費(fèi)且更便宜的替代方案。
2.什么是Linux內(nèi)核?
Linux內(nèi)核是用C語(yǔ)言編寫(xiě)的,是Linux系統(tǒng)的核心。它是最簡(jiǎn)單的可以與軟件配合使用的軟件。它與操作系統(tǒng)和底層硬件接口,并提供兩者之間的通信。
內(nèi)核執(zhí)行以下基本功能:
的
它控制底層結(jié)構(gòu)。
啟動(dòng)和管理應(yīng)用程序。
它控制操作系統(tǒng)資源,包括 RAM、CPU 和磁盤(pán)使用情況。
的
3.GRUB是什么?
GRUB(Grand Unified Bootloader)是來(lái)自 GNU 項(xiàng)目的引導(dǎo)加載程序。它是負(fù)責(zé)管理啟動(dòng)過(guò)程的程序。默認(rèn)情況下,它在系統(tǒng)啟動(dòng)時(shí)檢索 BIOS 并將內(nèi)核加載到主內(nèi)存中。然后內(nèi)核加載操作系統(tǒng)及其組件。
GRUB 初始屏幕通常是系統(tǒng)啟動(dòng)后您在屏幕上看到的內(nèi)容。它顯示一個(gè)簡(jiǎn)單的菜單,提供幾個(gè)啟動(dòng)選項(xiàng)。
4. Linux 的要點(diǎn)是什么?
Linux系統(tǒng)由以下主要組件組成:
的
內(nèi)核 – 這是 Linx 系統(tǒng)的主要部分,用于控制操作系統(tǒng)級(jí)別的底層硬件組件和進(jìn)程。
Shell – 這是一個(gè)解釋器,提供命令行界面,接受鍵盤(pán)發(fā)出的命令并將它們傳遞給操作系統(tǒng)執(zhí)行。
GUI – 這是圖形用戶界面的縮寫(xiě)。創(chuàng)建用戶用來(lái)與系統(tǒng)交互的圖形元素。其中包括桌面、窗口、圖標(biāo)、按鈕、功能面板和彈出窗口。
應(yīng)用程序 – 這些是安裝在 Linux 系統(tǒng)上執(zhí)行特定功能的軟件應(yīng)用程序。例如 Firefox 網(wǎng)絡(luò)瀏覽器、VLC 媒體播放器、LibreOffice 套件等等。
的
5. Linux 中常見(jiàn)的 Shell 有哪些?
Linux 中常用的 shell 包括:
的
bash [Bourne Again Shell] – 這是大多數(shù) Linux 系統(tǒng)上的默認(rèn) shell。
zsh [Z Shell] – 這是 Kali Linux 和 macOS 中的默認(rèn) shell。它基于 bash 構(gòu)建,并包含拼寫(xiě)檢查、插件支持、轉(zhuǎn)換優(yōu)化等額外功能。
ksh [Korn Shell] – 這是一種高級(jí)編程語(yǔ)言 shell。
csh [C Shell] – 其語(yǔ)法大量借鑒了 C 編程語(yǔ)言。對(duì)于任何具有 C 編程知識(shí)的人來(lái)說(shuō)非常有用。
的
6. Linux 中的交換空間是什么?
交換空間是指硬盤(pán)驅(qū)動(dòng)器上的空間,是 RAM 或物理內(nèi)存的擴(kuò)展。當(dāng) RAM 容量幾乎耗盡且無(wú)法再支持運(yùn)行的應(yīng)用程序時(shí),操作系統(tǒng)會(huì)使用它。交換空間保留 RAM 無(wú)法處理的其他程序。
7. 如何監(jiān)控 Linux 內(nèi)存使用情況?
以下是一些最常用的 Linux 命令,您可以使用它們來(lái)檢查系統(tǒng)的內(nèi)存利用率。
的
free – 顯示系統(tǒng)中可用和已用內(nèi)存量。
top – 顯示正在運(yùn)行的 Linux 進(jìn)程和使用情況。
htop – 資源配置管理器、進(jìn)程查看器和進(jìn)程管理器。
vmstat – 顯示虛擬內(nèi)存統(tǒng)計(jì)信息。
的
要檢查 Linux 系統(tǒng)內(nèi)存的性能和使用情況:
$免費(fèi)-m
$ 頂部
$htop
$vmstat
8. 如何監(jiān)控 Linux 磁盤(pán)空間利用率?
可以使用 df 和 du 命令檢查磁盤(pán)空間使用情況。
df 命令(diskless 的縮寫(xiě))用于顯示系統(tǒng)中文件系統(tǒng)的總磁盤(pán)空間和可用磁盤(pán)空間。它通常有-Th選擇地用于以人類可讀的格式顯示結(jié)果。
$ df -Th
運(yùn)行命令(磁盤(pán)使用情況的縮寫(xiě))顯示文件夾中的文件空間使用情況。它監(jiān)視文件和數(shù)據(jù)庫(kù)占用的空間。與 df 命令類似,run 和-hselect 用于以人類可讀的格式顯示結(jié)果。
$ 杜-h
9.什么是Inode和PID?
inode 是 Linux 中存儲(chǔ)文件元數(shù)據(jù)的文件系統(tǒng)。元數(shù)據(jù)包括文件大小、訪問(wèn)文件所需的權(quán)限、用戶和組 ID、創(chuàng)建會(huì)話標(biāo)記以及訪問(wèn)文件的路徑。
inode 編號(hào)是分配給 Linux 系統(tǒng)中每個(gè)文件的唯一編號(hào)或整數(shù)。
$ ls 分支.txt
1594567 -rwxrwxr-x 1 howtoing howtoing 0 十月 28 10:58 ravi.txt
1594567是inode編號(hào),-iflag表示ravi.txt文件的inode。
PID(進(jìn)程 ID)是分配給 Linux 系統(tǒng)上運(yùn)行的每個(gè)進(jìn)程的唯一 ID。我們可以使用pidof命令來(lái)查找每個(gè)正在運(yùn)行的程序的進(jìn)程ID。
$ 火狐 pidof
40982
10. 什么是惡魔?
守護(hù)進(jìn)程是在后臺(tái)運(yùn)行、無(wú)需任何用戶交互的服務(wù)進(jìn)程。它們將進(jìn)程外包給其他進(jìn)程并處理定期請(qǐng)求并將它們發(fā)送到適當(dāng)?shù)膽?yīng)用程序以執(zhí)行。
11. Linux 中的進(jìn)程狀態(tài)是什么?
在 Linux 中,進(jìn)程是正在運(yùn)行的程序或服務(wù)的實(shí)例。有四種操作模式。在任何給定時(shí)間,計(jì)劃將采用以下任何形式:
的
就緒:項(xiàng)目已創(chuàng)建并準(zhǔn)備運(yùn)行。
進(jìn)程:進(jìn)程處于活動(dòng)狀態(tài)或正在運(yùn)行。
停止:進(jìn)程完成處理,應(yīng)用程序結(jié)束。
等待:進(jìn)程正在等待用戶輸入。
Zombie:進(jìn)程被中止,但數(shù)據(jù)仍在進(jìn)程表中。
的
要檢查 Linux 進(jìn)程狀態(tài),請(qǐng)使用 ps 命令,如下所示。
$ 附注
STAT 列指示項(xiàng)目的狀態(tài)。
12.什么是圖形用戶界面?
GUI 代表圖形用戶界面。這些是 Linux 操作系統(tǒng)的圖形組件,包括窗口、圖標(biāo)、菜單、按鈕、任務(wù)欄等等。
GUI 可以輕松地與系統(tǒng)交互,是初學(xué)者或不熟練使用 CLI 的新手的首選。
13. 什么是 CLI?
CLI 是命令行的縮寫(xiě)。這是一個(gè)允許用戶在終端提供的 shell 上輸入命令的接口。專業(yè) Linux 用戶或系統(tǒng)管理員和工程師經(jīng)常使用 CLI。
CLI 是管理系統(tǒng)的首選方法,因?yàn)樗褂幂^少的系統(tǒng)資源,與資源預(yù)算較高的 GUI 不同。
14. 什么是根賬戶?
這是Linux系統(tǒng)上權(quán)限最高的帳戶。它使您可以完全控制 Linux 系統(tǒng)。您幾乎可以做任何您想做的事情,包括升級(jí)系統(tǒng)、安裝和卸載軟件、創(chuàng)建和刪除用戶、配置應(yīng)用程序等等。
在大多數(shù) Linux 發(fā)行版上,您需要在安裝過(guò)程中創(chuàng)建 root 帳戶。
15.什么是開(kāi)源軟件?
開(kāi)源軟件的特性意味著您可以在沒(méi)有任何許可限制的情況下訪問(wèn)、修改和重新分發(fā)源代碼給其他用戶。然后,其他用戶將能夠進(jìn)行進(jìn)一步的更改,包括刪除和糾正源代碼中的錯(cuò)誤。
實(shí)際上,開(kāi)源軟件得到廣泛使用,因此使每個(gè)人受益。
16.什么是Linux目錄命令?
以下是基本的 Linux 庫(kù)命令:
的
pwd – 該命令顯示當(dāng)前工作目錄或當(dāng)前目錄的路徑。
ls – 此命令列出文件夾的內(nèi)容。
cd – 這允許您從一個(gè)文件夾切換到另一個(gè)文件夾。
mkdir – 該命令創(chuàng)建一個(gè)新的空目錄。
rmdir – 該命令刪除或移除空目錄。
rm – 刪除一個(gè)或多個(gè)文件。與 -R 選項(xiàng)一起使用可刪除非空文件夾。
的
17. 什么是重定向功能?
重定向是將第一個(gè)命令的輸出發(fā)送到另一個(gè)文件的過(guò)程。此外,它還用于將輸出定向?yàn)榱硪粋€(gè)進(jìn)程的輸入。
在 Linux 中,訪問(wèn)是通過(guò)使用\>\(大于令牌)或(管道)運(yùn)算符來(lái)獲得的,該運(yùn)算符將一個(gè)命令的默認(rèn)輸出返回到另一命令作為標(biāo)準(zhǔn)輸入。\|\
18. Vim 有哪些不同的方法?
Vim 編輯器提供了以下基本方法:
的
普通模式/命令模式 – 這是打開(kāi)新文件或現(xiàn)有文件時(shí)的默認(rèn)模式。在此模式下,您可以運(yùn)行撤消、重做和粘貼等命令。
插入模式 – 此模式允許您插入文本。
查看模式 - 此模式允許您選擇文本,以便您可以對(duì)其執(zhí)行其他操作,例如復(fù)制、剪切或粘貼。
的
19.還有什么名字?
顧名思義,別名就像自定義快捷方式,用于表示帶有或不帶有特殊選項(xiàng)的命令(或命令集)。
$別名
20.如何列出Linux上運(yùn)行的所有應(yīng)用程序?
要列出 Linux 系統(tǒng)上運(yùn)行的所有進(jìn)程,請(qǐng)運(yùn)行以下命令:
# ps 輔助
該命令列出所有當(dāng)前正在運(yùn)行的進(jìn)程,包括它們的 PID(進(jìn)程 ID)號(hào)。
21.什么是軟溝通?
軟鏈接也稱為符號(hào)鏈接,類似于 Windows 操作系統(tǒng)上的文件快捷方式。它包含文件的路徑而不是內(nèi)容。
文件或數(shù)據(jù)庫(kù)可以通過(guò)軟鏈接進(jìn)行鏈接。如果原始文件被刪除,軟鏈接就會(huì)斷開(kāi),稱為懸掛鏈接。然而,去除軟化劑本身并沒(méi)有任何效果。
另外,軟鏈接可以在文件系統(tǒng)之間進(jìn)行通信。
22.什么是強(qiáng)有力的溝通?
硬鏈接是實(shí)際連接到文件內(nèi)容的文件快捷方式,與僅包含文件路徑的軟鏈接不同。它與原始文件大小相同,并且與原始文件共享相同的 inode 號(hào)。
當(dāng) origins 文件更新時(shí),硬鏈接的內(nèi)容也會(huì)更新。此外,即使原始文件被刪除,硬鏈接也不受影響。
硬鏈接的缺點(diǎn)是不能跨不同的文件系統(tǒng)進(jìn)行。
23. Linux 中的隱藏文件是什么?
隱藏文件是前面帶有空格或符號(hào)的文件。它們大多是包含重要數(shù)據(jù)或設(shè)置的配置文件。要訪問(wèn)隱藏文件,請(qǐng)使用帶選項(xiàng)的 ls 命令-la。
$ ls -la
24. Linux 中有哪些不同的權(quán)限類型?
Linux中有3種不同的文件權(quán)限:
的
讀取 (r) – 允許用戶讀取文件或?qū)懭胛募A。
寫(xiě)入 (w) – 允許用戶編輯或編輯文件。
創(chuàng)建 (x) – 允許用戶創(chuàng)建文件。
的
25. 如何更改文件或目錄的權(quán)限?
chmod命令是修改文件或文件夾權(quán)限的命令。
遵循定義的語(yǔ)法。
# chmod [選項(xiàng)][權(quán)限]文件
例如。要將八進(jìn)制權(quán)限 755(所有者的所有權(quán)限以及僅組成員和其他任何人的讀寫(xiě)權(quán)限)分配給名為 file1.txt 的文件,請(qǐng)運(yùn)行以下命令。
# chmod 755 文件1.txt
26. 什么是Grep代碼?
Grep 是一個(gè)命令行實(shí)用程序,用于查找和比較文本文件或文本文件中的行。它檢索用于修改或增強(qiáng)搜索結(jié)果的選項(xiàng)和參數(shù)。
它接受以下語(yǔ)法:
$grep[選項(xiàng)] 模式[文件]
以下命令計(jì)算 file1.txt 中字符串“Unix”的出現(xiàn)次數(shù)。
$grep -c "Unix" file1.txt
27. 如何結(jié)束Linux中正在運(yùn)行的項(xiàng)目?
要終止或終止進(jìn)程,請(qǐng)使用kill 命令,后跟進(jìn)程 PID。
ps 命令將幫助您識(shí)別進(jìn)程的 PID。
$ 殺死 PID
要結(jié)束無(wú)響應(yīng)的操作,請(qǐng)傳遞-9顯示的選項(xiàng)
$ 殺死 -9 PID
要按名稱終止進(jìn)程,請(qǐng)使用killall 命令,后跟進(jìn)程名稱。例如,要結(jié)束 Firefox 進(jìn)程,請(qǐng)運(yùn)行以下命令:
每月 $ 火狐瀏覽器
28. 如何在一個(gè)命令中執(zhí)行多個(gè)命令?
要在單個(gè)命令中連續(xù)運(yùn)行多個(gè)命令,您可以使用冒號(hào);、雙與號(hào)&&或||符號(hào)。
的
XY – 無(wú)論 X 是否成功,都會(huì)執(zhí)行命令 X 和 Y。
X && Y – 當(dāng)且僅當(dāng) X 成功運(yùn)行時(shí)才運(yùn)行 Y。
X|| Y – 當(dāng)且僅當(dāng) X 失敗時(shí)才運(yùn)行 Y。
的
29.參見(jiàn)Linux系統(tǒng)啟動(dòng)并運(yùn)行了多長(zhǎng)時(shí)間?
要驗(yàn)證處理時(shí)間或系統(tǒng)運(yùn)行的時(shí)間,只需運(yùn)行所示的處理命令即可。
$ 正常運(yùn)行時(shí)間
12:09:11 向上 2:49, 2 位用戶, 平均負(fù)載: 0.62, 0.97, 0.88
30.如何獲取Linux系統(tǒng)信息?
要檢查重要的配置信息,例如內(nèi)核名稱和版本、主機(jī)名和操作系統(tǒng),請(qǐng)使用-aselect 執(zhí)行 uname 命令,如下所示。
$ uname -a
Linux howtoing 5.15.0-53-generic #59~20.04.1-Ubuntu SMP 十月 20 日星期四 15:10:22 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
當(dāng)然,這絕不是您在面試室中必然會(huì)遇到的所有面試問(wèn)題的全面列表。然而,你很可能會(huì)面臨這些面試問(wèn)題來(lái)測(cè)試你對(duì) Linux 系統(tǒng)的基本了解。準(zhǔn)備面試時(shí)一切順利。