當前位置: 妍妍網 > 碼農

45個經典Linux面試題!

2024-03-19碼農

點選上方 Linux開源社群 」,選擇「 設為星標

優質文章,及時送達

問題一:

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

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

怎麽檢視當前行程?怎麽執行結束?怎麽檢視當前路徑?
答案:
檢視當前行程:ps
執行結束:exit
檢視當前路徑:pwd
問題三:

怎麽清屏?怎麽結束當前命令?怎麽執行睡眠?怎麽檢視當前使用者 id?檢視指定幫助用什麽命令?
答案:
清屏:clear
結束當前命令:ctrl+c 徹底結束
執行睡眠 :ctrl+z 掛起當前行程fg 恢復後台
檢視當前使用者 id:」id「:檢視顯示目前登陸帳戶的 uid 和 gid 及所屬分組及使用者名稱
檢視指定幫助:如 man adduser 這個很全 而且有例子;adduser --help 這個告訴你一些常用參數;info adduesr;
問題四:

Ls 命令執行什麽功能?可以帶哪些參數,有什麽區別?
答案:
ls 執行的功能:列出指定目錄中的目錄,以及檔
哪些參數以及區別:a 所有檔l 詳細資訊,包括大小字節數,可讀可寫可執行的許可權等
問題五:

建立軟連結(捷徑),以及 硬連結 的命令。
答案:
軟連結:ln -s slink source
硬連結:ln link source
問題六:

目錄建立用什麽命令?建立檔用什麽命令?復制檔用什麽命令?
答案:
建立目錄:mkdir
建立檔:典型的如 touch,vi 也可以建立檔,其實只要向一個不存在的檔輸出,都會建立檔
復制檔:cp 7. 檔許可權修改用什麽命令?格式是怎麽樣的?
檔許可權修改: chmod
格式如下:

$ chmod u+x file 給 file 的屬主增加執行許可權
$ chmod 751 file 給 file 的屬主分配讀、寫、執行(7)的許可權,給 file 的所在組分配讀、執行(5)的許可權,給其他使用者分配執行(1)的許可權
$ chmod u=rwx,g=rx,o=x file 上例的另一種形式
$ chmod =r file 為所有使用者分配讀許可權
$ chmod 444 file 同上例
$ chmod a-wx,a+r file同上例
$ chmod -R u+r directory 遞迴地給 directory 目錄下所有檔和子目錄的屬主分配讀的許可權

問題八:

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

隨意寫檔命令?怎麽向螢幕輸出帶空格的字串,比如」hello world」?

答案:

寫檔命令:vi

向螢幕輸出帶空格的字串:echo hello world

問題十:

終端是哪個資料夾下的哪個檔?黑洞檔是哪個資料夾下的哪個命令?
答案:
終端 /dev/tty

黑洞檔 /dev/null
問題十一:

移動檔用哪個命令?改名用哪個命令?
答案:
mv mv
問題十二:

復制檔用哪個命令?如果需要連同資料夾一塊復制呢?如果需要有提示功能呢?
答案:
cp cp -r ????
問題十三:

刪除檔用哪個命令?如果需要連目錄及目錄下檔一塊刪除呢?刪除空資料夾用什麽命令?
答案:
rm rm -r rmdir
問題十四:

Linux 下命令有哪幾種可使用的通配符?分別代表什麽含義?
答案:
「?」可替代單個字元。

「*」可替代任意多個字元。

方括弧「[charset]」可替代 charset 集中的任何單個字元,如[a-z],[abABC]

問題十五:

用什麽命令對一個檔的內容進行統計?(行號、單詞數、字節數)
答案:

wc 命令 - c 統計字節數 - l 統計行數 - w 統計字數。
問題十六:

Grep 命令有什麽用?如何忽略大小寫?如何尋找不含該串的行?
答案:
是一種強大的文本搜尋工具,它能使用 正規表式 搜尋文本,並把匹 配的行打印出來。
grep [stringSTRING] filename grep [^string] filename
問題十七:

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 死掉的行程

問題十八:

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

問題十九:

利用 ps 怎麽顯示所有的行程? 怎麽利用 ps 檢視指定行程的資訊?
答案:
ps -ef (system v 輸出)

ps -aux bsd 格式輸出

ps -ef | grep pid
問題二十:

哪個命令專門用來檢視後台任務?

答案:

job -l

問題二十一:

把後台任務調到前台執行使用什麽命令?把停下的後台任務在後台執行起來用什麽命令?
答案:
把後台任務調到前台執行 fg

把停下的後台任務在後台執行起來 bg

問題二十二:

終止行程用什麽命令? 帶什麽參數?

答案:

kill [-s <資訊名稱或編號>][程式] 或 kill [-l <資訊編號>]

kill-9 pid

問題二十三:

怎麽檢視系統支持的所有訊號?

答案:

kill -l
問題二十四:

搜尋檔用什麽命令? 格式是怎麽樣的?

答案:

find <指定目錄> <指定條件> <指定動作>

whereis 加參數與檔名

locate 只加檔名

find 直接搜尋磁盤,較慢。微信搜尋公眾號:架構師指南,回復:架構師 領取資料 。

find / -name "string*"

問題二十五:

檢視當前誰在使用該主機用什麽命令? 尋找自己所在的終端資訊用什麽命令?
答案:
尋找自己所在的終端資訊:who am i

檢視當前誰在使用該主機:who

問題二十六:

使用什麽命令檢視用過的命令列表?

答案:

history

問題二十七:

使用什麽命令檢視磁盤使用空間?空閑空間呢?

答案:

df -hl
檔案系統 容量 已用 可用 已用% 掛載點
Filesystem Size Used Avail Use% Mounted on /dev/hda2 45G 19G 24G 44% /
/dev/hda1 494M 19M 450M 4% /boot
問題二十八:

使用什麽命令檢視網路是否連通?
答案:
netstat
問題二十九:

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

答案:

ifconfig
問題三十:

檢視各類環境變量用什麽命令?

答案:

檢視所有 env
檢視某個,如 home:env $HOME
問題三十一:

透過什麽命令指定 命令提示字元 ?

答案:

\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\#]\$‘

問題三十二:

尋找命令的可執行檔是去哪尋找的? 怎麽對其進行設定及添加?

答案:

whereis [-bfmsu][-B <目錄>...][-M <目錄>...][-S <目錄>...][檔...]

補充說明:whereis 指令會在特定目錄中尋找符合條件的檔。這些檔的烈性應屬於原始程式碼,二進制檔,或是幫助檔。

-b 只尋找二進制檔。

-B<目錄> 只在設定的目錄下尋找二進制檔。-f 不顯示檔名前的路徑名稱。
-m 只尋找說明檔。
-M<目錄> 只在設定的目錄下尋找說明檔。-s 只尋找原始程式碼檔。
-S<目錄> 只在設定的目錄下尋找原始程式碼檔。-u 尋找不包含指定型別的檔。
which 指令會在 PATH 變量指定的路徑中,搜尋某個系統命令的位置,並且返回第一個搜尋結果。
-n 指定檔名長度,指定的長度必須大於或等於所有檔中最長的檔名。
-p 與-n 參數相同,但此處的包括了檔的路徑。-w 指定輸出時欄位的寬度。
-V 顯示版本資訊

問題三十三:

透過什麽命令尋找執行命令?
答案:
which 只能查可執行檔

whereis 只能查二進制檔、說明文件,原始檔等

問題三十四:

怎麽對命令進行取別名?
答案:
alias la='ls -a'
問題三十五:

du 和 df 的定義,以及區別?
答案:

du 顯示目錄或檔的大小

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

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

問題三十七:

當你需要給命令繫結一個宏或者按鍵的時候,應該怎麽做呢?

答案:

可以使用bind命令,bind可以很方便地在shell中實作宏或按鍵的繫結。

在進行按鍵繫結的時候,我們需要先獲取到繫結按鍵對應的字元序列。

比如獲取F12的字元序列獲取方法如下:先按下Ctrl+V,然後按下F12 .我們就可以得到F12的字元序列 ^[[24~。

接著使用bind進行繫結。

[root@localhost ~]# bind ‘」\e[24~":"date"'

註意:相同的按鍵在不同的終端或終端模擬器下可能會產生不同的字元序列。

【附】也可以使用showkey -a命令檢視按鍵對應的字元序列。

問題三十八:

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

答案:

使用命令compgen ­-c,可以打印出所有支持的命令列表。

[root@localhost ~]$ compgen -c

l.

ll

ls

which

if

then

else

elif

fi

case

esac

for

select

while

until

do

done

問題三十九:

如果你的助手想要打印出當前的目錄棧,你會建議他怎麽做?

答案:

使用Linux 命令dirs可以將當前的目錄棧打印出來。

[root@localhost ~]# dirs

/usr/share/X11

【附】:目錄棧透過pushd popd 來操作。

問題四十:

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

答案:

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

問題四十一:

bash shell 中的hash 命令有什麽作用?

答案:

linux命令’hash’管理著一個內建的哈希表,記錄了已執行過的命令的完整路徑, 用該命令可以打印出你所使用過的命令以及執行的次數。

[root@localhost ~]# hash

hits command

2 /bin/ls

2 /bin/su

問題四十二:

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

答案:

bash shell 的內建命令let 可以進行整型數的數學運算。

#! /bin/bash


let c=a+b

問題四十三:

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

答案:

透過管道將命令」cat file_name.txt」 和 ’more’ 連線在一起可以實作這個需要.

[root@localhost ~]# cat file_name.txt | more

問題四十四:

數據字典屬於哪一個使用者的?

答案:

數據字典是屬於’SYS’使用者的,使用者‘SYS’ 和 ’SYSEM’是由系統預設自動建立的

問題四十五:

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

答案:

使用命令whatis 可以先出顯示出這個命令的用法簡要,比如,你可以使用whatis zcat 去檢視‘zcat’的介紹以及使用簡要。

[root@localhost ~]# whatis zcat

zcat [gzip] (1) – compress or expand files

-End-

讀到這裏說明你喜歡本公眾號的文章,歡迎 置頂(標星)本公眾號 Linux技術迷,這樣就可以第一時間獲取推播了~

本公眾號,後台回復:Linux,領取2T學習資料 !

1.

2. 

3.

4.