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

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、使用哪一個命令可以查看自己文件系統的磁盤空間配額呢?

 

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

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、哪個命令專門用來查看後臺任務?

答案:

jobs

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 只能查二進制文件、說明文檔,源文件等

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年多家公司java面試題整理了1000多道400多頁pdf文檔,文章都會在裏面更新,整理的資料也會放在裏面。

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

發佈了174 篇原創文章 · 獲贊 2290 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章