2019年常見的Linux面試題及答案解析,哪些你還不會?

程式設計師追風發表於2019-12-27

Linux 面試題

1、絕對路徑用什麼符號表示?當前目錄、上層目錄用什麼表示?主目錄用什麼表示? 切換目錄用什麼命令?
2、怎麼檢視當前程式?怎麼執行退出?怎麼檢視當前路徑?
3、怎麼清屏?怎麼退出當前命令?怎麼執行睡眠?怎麼檢視當前使用者id?檢視指定幫助用什麼命令?
4、Ls 命令執行什麼功能? 可以帶哪些引數,有什麼區別?
5、建立軟連結(快捷方式),以及硬連結的命令。
6、目錄建立用什麼命令?建立檔案用什麼命令?複製檔案用什麼命令?
7、檢視檔案內容有哪些命令可以使用?
8、隨意寫檔案命令?怎麼向螢幕輸出帶空格的字串,比如”helloworld”?
9、終端是哪個資料夾下的哪個檔案?黑洞檔案是哪個資料夾下的哪個命令?
10、移動檔案用哪個命令?改名用哪個命令?
11、複製檔案用哪個命令?如果需要連同資料夾一塊複製呢?如果需要有提示功能呢?
12、刪除檔案用哪個命令?如果需要連目錄及目錄下檔案一塊刪除呢?刪除空資料夾用什麼命令?
13、Linux 下命令有哪幾種可使用的萬用字元?分別代表什麼含義?
14、用什麼命令對一個檔案的內容進行統計?(行號、單詞數、位元組數)
15、Grep 命令有什麼用? 如何忽略大小寫? 如何查詢不含該串的行?
16、Linux 中程式有哪幾種狀態?在 ps 顯示出來的資訊中,分別用什麼符號表示的?
17、怎麼使一個命令在後臺執行?
18、利用 ps 怎麼顯示所有的程式? 怎麼利用 ps 檢視指定程式的資訊?
19、哪個命令專門用來檢視後臺任務?
20、把後臺任務調到前臺執行使用什麼命令?把停下的後臺任務在後臺執行起來用什麼命令?
21、終止程式用什麼命令? 帶什麼引數?
22、怎麼檢視系統支援的所有訊號?
23、搜尋檔案用什麼命令? 格式是怎麼樣的?
24、檢視當前誰在使用該主機用什麼命令? 查詢自己所在的終端資訊用什麼命令?
25、使用什麼命令檢視用過的命令列表?
26、使用什麼命令檢視磁碟使用空間? 空閒空間呢?
27、使用什麼命令檢視網路是否連通?
28、使用什麼命令檢視 ip 地址及介面資訊?
29、檢視各類環境變數用什麼命令?
30、通過什麼命令指定命令提示符?
31、查詢命令的可執行檔案是去哪查詢的? 怎麼對其進行設定及新增?
32、通過什麼命令查詢執行命令?
33、怎麼對命令進行取別名?
34、du 和 df 的定義,以及區別?
35、awk 詳解。
36、當你需要給命令繫結一個巨集或者按鍵的時候,應該怎麼做呢?
37、如果一個 linux 新手想要知道當前系統支援的所有命令的列表,他需要怎麼做?
38、如果你的助手想要列印出當前的目錄棧,你會建議他怎麼做?
39、你的系統目前有許多正在執行的任務,在不重啟機器的條件下,有什麼方法可以把所有正在執行的程式移除呢?
40、bash shell 中的 hash 命令有什麼作用?
41、哪一個 bash 內建命令能夠進行數學運算。
42、怎樣一頁一頁地檢視一個大檔案的內容呢?
43、資料字典屬於哪一個使用者的?
44、怎樣檢視一個 linux 命令的概要與用法?假設你在/bin 目錄中偶然看到一個你從沒見過的的命令,怎樣才能知道它的作用和用法呢?
45、使用哪一個命令可以檢視自己檔案系統的磁碟空間配額呢?
2019年常見的Linux面試題及答案解析,哪些你還不會?


Linux 面試題答案解析

1、絕對路徑用什麼符號表示?當前目錄、上層目錄用什麼表示?主目錄用什麼表示? 切換目錄用什麼命令?

答案:
絕對路徑: 如/etc/init.d
當前目錄和上層目錄: ./ ../
主目錄: ~/
切換目錄: cd

2、怎麼檢視當前程式?怎麼執行退出?怎麼檢視當前路徑?

答案:
檢視當前程式: ps
執行退出: exit
檢視當前路徑: pwd

3、怎麼清屏?怎麼退出當前命令?怎麼執行睡眠?怎麼檢視當前使用者 id?檢視指定幫助用什麼命令?

答案:
清屏: clear
退出當前命令: ctrl+c 徹底退出
執行睡眠 : ctrl+z 掛起當前程式 fg 恢復後臺
檢視當前使用者 id: ”id“:檢視顯示目前登陸賬戶的 uid 和 gid 及所屬分組及使用者名稱
檢視指定幫助: 如 man adduser 這個很全 而且有例子; adduser --help 這個告訴你一些常用引數; info adduesr;

4、Ls 命令執行什麼功能? 可以帶哪些引數,有什麼區別?

答案:
ls 執行的功能: 列出指定目錄中的目錄,以及檔案
哪些引數以及區別: a 所有檔案 l 詳細資訊,包括大小位元組數,可讀可寫可執行的許可權等

5、建立軟連結(快捷方式),以及硬連結的命令。

答案:
軟連結: ln -s slink source
硬連結: ln link source

6、目錄建立用什麼命令?建立檔案用什麼命令?複製檔案用什麼命令?

答案:
建立目錄: mkdir
建立檔案:典型的如 touch,vi 也可以建立檔案,其實只要向一個不存在的檔案輸出,都會建立檔案
複製檔案: cp 7. 檔案許可權修改用什麼命令?格式是怎麼樣的?
檔案許可權修改: chmod
格式如下:
chmodu+xfile 給 file 的屬主增加執行許可權 chmod 751 file 給 file 的屬主分配讀、寫、執行(7)的許可權,給 file 的所在組分配讀、執行(5)的許可權,給其他使用者分配執行(1)的許可權
chmodu=rwx,g=rx,o=xfile 上例的另一種形式 chmod =r file 為所有使用者分配讀許可權
chmod444file 同上例 chmod a-wx,a+r file 同上例
$ chmod -R u+r directory 遞迴地給 directory 目錄下所有檔案和子目錄的屬主分配讀的許可權

7、檢視檔案內容有哪些命令可以使用?

答案:
vi 檔名 #編輯方式檢視,可修改
cat 檔名 #顯示全部檔案內容
more 檔名 #分頁顯示檔案內容
less 檔名 #與 more 相似,更好的是可以往前翻頁
tail 檔名 #僅檢視尾部,還可以指定行數
head 檔名 #僅檢視頭部,還可以指定行數

8、隨意寫檔案命令?怎麼向螢幕輸出帶空格的字串,比如”hello world”?

答案:
寫檔案命令:vi
向螢幕輸出帶空格的字串:echo hello world

9、終端是哪個資料夾下的哪個檔案?黑洞檔案是哪個資料夾下的哪個命令?

答案:
終端 /dev/tty
黑洞檔案 /dev/null

10、移動檔案用哪個命令?改名用哪個命令?

答案:
mv mv

11、複製檔案用哪個命令?如果需要連同資料夾一塊複製呢?如果需要有提示功能呢?

答案:
cp cp -r ????

12、刪除檔案用哪個命令?如果需要連目錄及目錄下檔案一塊刪除呢?刪除空資料夾用什麼命令?

答案:
rm rm -r rmdir

13、Linux 下命令有哪幾種可使用的萬用字元?分別代表什麼含義?

答案:
“?”可替代單個字元。
“*”可替代任意多個字元。
方括號“[charset]”可替代 charset 集中的任何單個字元,如[a-z],[abABC]

14、用什麼命令對一個檔案的內容進行統計?(行號、單詞數、位元組數)

答案:
wc 命令 - c 統計位元組數 - l 統計行數 - w 統計字數。

15、Grep 命令有什麼用? 如何忽略大小寫? 如何查詢不含該串的行?

答案:
是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹 配的行列印出來。
grep [stringSTRING] filename grep [^string] filename
2019年常見的Linux面試題及答案解析,哪些你還不會?

16、Linux 中程式有哪幾種狀態?在 ps 顯示出來的資訊中,分別用什麼符號表示的?

答案:
(1)不可中斷狀態:程式處於睡眠狀態,但是此刻程式是不可中斷的。不可中斷,指程式不響應非同步訊號。
(2)暫停狀態/跟蹤狀態:向程式傳送一個 SIGSTOP 訊號,它就會因響應該訊號 而進入 TASK_STOPPED 狀態;當程式正在被跟蹤時,它處於 TASK_TRACED 這個特殊的狀態。正被跟蹤”指的是程式暫停下來,等待跟蹤它的程式對它進行操作。
(3)就緒狀態:在 run_queue 佇列裡的狀態
(4)執行狀態:在 run_queue 佇列裡的狀態
(5)可中斷睡眠狀態:處於這個狀態的程式因為等待某某事件的發生(比如等待socket 連線、等待訊號量),而被掛起
(6)zombie 狀態(殭屍):父親沒有通過 wait 系列的系統呼叫會順便將子程式的屍體(task_struct)也釋放掉
(7)退出狀態
D 不可中斷 Uninterruptible(usually IO)
R 正在執行,或在佇列中的程式
S 處於休眠狀態
T 停止或被追蹤
Z 殭屍程式
W 進入記憶體交換(從核心 2.6 開始無效)
X 死掉的程式

17、怎麼使一個命令在後臺執行?

答案:
一般都是使用 & 在命令結尾來讓程式自動執行。(命令後可以不追加空格)

18、利用 ps 怎麼顯示所有的程式? 怎麼利用 ps 檢視指定程式的資訊?

答案:
ps -ef (system v 輸出)
ps -aux bsd 格式輸出
ps -ef | grep pid複製程式碼

19、哪個命令專門用來檢視後臺任務?

答案:
job -l

20、把後臺任務調到前臺執行使用什麼命令?把停下的後臺任務在後臺執行起來用什麼命令?

答案:
把後臺任務調到前臺執行 fg
把停下的後臺任務在後臺執行起來 bg

21、終止程式用什麼命令? 帶什麼引數?

答案:
kill [-s <資訊名稱或編號>][程式] 或 kill [-l <資訊編號>]
kill-9 pid

22、怎麼檢視系統支援的所有訊號?

答案:
kill -l

23、搜尋檔案用什麼命令? 格式是怎麼樣的?

答案:
find <指定目錄> <指定條件> <指定動作>
whereis 加引數與檔名
locate 只加檔名
find 直接搜尋磁碟,較慢。
find / -name "string*"

24、檢視當前誰在使用該主機用什麼命令? 查詢自己所在的終端資訊用什麼命令?

答案:
查詢自己所在的終端資訊:who am i
檢視當前誰在使用該主機:who

25、使用什麼命令檢視用過的命令列表?

答案:
history

26、使用什麼命令檢視磁碟使用空間? 空閒空間呢?

答案:
df -hl複製程式碼
檔案系統 容量 已用 可用 已用% 掛載點
Filesystem Size Used Avail Use% Mounted on /dev/hda2 45G 19G 24G
44% /
/dev/hda1 494M 19M 450M 4% /boot複製程式碼

27、使用什麼命令檢視網路是否連通?

答案:
netstat

28、使用什麼命令檢視 ip 地址及介面資訊?

答案:
ifconfig

29、檢視各類環境變數用什麼命令?

答案:
檢視所有 env
檢視某個,如 home: env $HOME

30、通過什麼命令指定命令提示符?

答案:
\u:顯示當前使用者賬號
\h:顯示當前主機名
\W:只顯示當前路徑最後一個目錄
\w:顯示當前絕對路徑(當前使用者目錄會以~代替)
$PWD:顯示當前全路徑
$:顯示命令列’$'或者’#'符號
#:下達的第幾個命令
\d:代表日期,格式為 week day month date,例如:"MonAug1"
\t:顯示時間為 24 小時格式,如:HH:MM:SS
\T:顯示時間為 12 小時格式
\A:顯示時間為 24 小時格式:HH:MM
\v:BASH 的版本資訊 如 export PS1=’[\u@\h\w#]$‘

31、查詢命令的可執行檔案是去哪查詢的? 怎麼對其進行設定及新增?

答案:
whereis [-bfmsu][-B <目錄>...][-M <目錄>...][-S <目錄>...][檔案...]
補充說明:whereis 指令會在特定目錄中查詢符合條件的檔案。這些檔案的烈性應屬於原始程式碼,二進位制檔案,或是幫助檔案。
-b 只查詢二進位制檔案。
-B <目錄> 只在設定的目錄下查詢二進位制檔案。 -f 不顯示檔名前的路徑名稱。
-m 只查詢說明檔案。
-M <目錄> 只在設定的目錄下查詢說明檔案。-s 只查詢原始程式碼檔案。
-S <目錄> 只在設定的目錄下查詢原始程式碼檔案。 -u 查詢不包含指定型別的檔案。
w -h ich 指令會在 PATH 變數指定的路徑中,搜尋某個系統命令的位置,並且返回第一個搜尋結果。
-n 指定檔名長度,指定的長度必須大於或等於所有檔案中最長的檔名。
-p 與-n 引數相同,但此處的包括了檔案的路徑。 -w 指定輸出時欄位的寬度。
-V 顯示版本資訊

32、通過什麼命令查詢執行命令?

答案:
which 只能查可執行檔案
whereis 只能查二進位制檔案、說明文件,原始檔等
2019年常見的Linux面試題及答案解析,哪些你還不會?

33、怎麼對命令進行取別名?

答案:
alias la='ls -a'複製程式碼

34、du 和 df 的定義,以及區別?

答案:
du 顯示目錄或檔案的大小
df 顯示每個<檔案>所在的檔案系統的資訊,預設是顯示所有檔案系統。(檔案系統分配其中的一些磁碟塊用來記錄它自身的一些資料,如 i 節點,磁碟分佈圖,間接塊,超級塊等。這些資料對大多數使用者級的程式來說是不可見的,通常稱為 Meta Data。) du 命令是使用者級的程式,它不考慮 Meta Data,而 df命令則檢視檔案系統的磁碟分配圖並考慮 Meta Data。
df 命令獲得真正的檔案系統資料,而 du 命令只檢視檔案系統的部分情況。

35、awk 詳解。

答案:
awk '{pattern + action}' {
	filenames
}
#cat /etc/passwd |awk -F ':' '{print 1"t"7}' //-F 的意思是以':'分隔 root
/bin/bash
daemon /bin/sh 搜尋/etc/passwd 有 root 關鍵字的所有行
#awk -F: '/root/' /etc/passwd root:x:0:0:root:/root:/bin/bash複製程式碼

36、當你需要給命令繫結一個巨集或者按鍵的時候,應該怎麼做呢?

答案:
可以使用 bind 命令,bind 可以很方便地在 shell 中實現巨集或按鍵的繫結。在進行按鍵繫結的時候,我們需要先獲取到繫結按鍵對應的字元序列。
比如獲取 F12 的字元序列獲取方法如下:先按下 Ctrl+V,然後按下 F12 .我們就可以得到 F12 的字元序列 ^[[24~。
接著使用 bind 進行繫結。
[root@localhost ~]# bind ‘”e[24~":"date"'複製程式碼
注意:相同的按鍵在不同的終端或終端模擬器下可能會產生不同的字元序列。
【附】也可以使用 showkey -a 命令檢視按鍵對應的字元序列。

37、如果一個 linux 新手想要知道當前系統支援的所有命令的列表,他需要怎麼做?

答案:
使用命令 compgen -c,可以列印出所有支援的命令列表。
[root@localhost ~]$ compgen -c
l.
ll
ls
which
if
then else
elif
fi
case
esac
for
select
while
until
do
done複製程式碼

38、如果你的助手想要列印出當前的目錄棧,你會建議他怎麼做?

答案:
使用 Linux 命令 dirs 可以將當前的目錄棧列印出來。
[root@localhost ~]# dirs
/usr/share/X11複製程式碼
【附】:目錄棧通過 pushd popd 來操作。

39、你的系統目前有許多正在執行的任務,在不重啟機器的條件下,有什麼方法可以把所有正在執行的程式移除呢?

答案:
使用 linux 命令 ’disown -r ’可以將所有正在執行的程式移除。

40、bash shell 中的 hash 命令有什麼作用?

答案:
linux 命令’hash’管理著一個內建的雜湊表,記錄了已執行過的命令的完整路徑,用該命令可以列印出你所使用過的命令以及執行的次數。
[root@localhost ~]# hash
hits command
2 /bin/ls
2 /bin/su複製程式碼

41、哪一個 bash 內建命令能夠進行數學運算。

答案:
bash shell 的內建命令 let 可以進行整型數的數學運算。
#! /bin/bash
…
…
let c=a+b
…
…複製程式碼

42、怎樣一頁一頁地檢視一個大檔案的內容呢?

答案:
通過管道將命令”cat file_name.txt” 和 ’more’ 連線在一起可以實現這個需要.
[root@localhost ~]# cat file_name.txt | more複製程式碼

43、資料字典屬於哪一個使用者的?

答案:
資料字典是屬於’SYS’使用者的,使用者‘SYS’ 和 ’SYSEM’是由系統預設自動建立的

44、怎樣檢視一個 linux 命令的概要與用法?假設你在/bin 目錄中偶然看到一個你從沒見過的的命令,怎樣才能知道它的作用和用法呢?

答案:
使用命令 whatis 可以先出顯示出這個命令的用法簡要,比如,你可以使用 whatiszcat 去檢視‘zcat’的介紹以及使用簡要。
[root@localhost ~]# whatis zcat
zcat [gzip] (1) – compress or expand files複製程式碼

45、使用哪一個命令可以檢視自己檔案系統的磁碟空間配額呢?

答案:
使用命令 repquota 能夠顯示出一個檔案系統的配額資訊
【附】只有 root 使用者才能夠檢視其它使用者的配額。


2019年常見的Linux面試題及答案解析,哪些你還不會?


最後

歡迎大家一起交流,歡迎大家關注我的公眾號【程式設計師追風】,2019年多家公司java面試題整理了1000多道400多頁pdf文件,文章都會在裡面更新,整理的資料也會放在裡面。

喜歡文章記得關注我點個贊喲,感謝支援!


相關文章