Linux常見面試題彙總1(41題)

2020-08-12 10:31:41

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. 遠端指令是什麼?如何檢視記憶體等資訊?

 telnet+<IP地址>,還需要輸入被遠端伺服器的使用者名稱和密碼。輸入top可檢視系統的實體記憶體等資訊

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

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

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

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

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

11. 移動檔案用哪個命令?改名用哪個命令?

  mv;mv

12. 複製檔案用哪個命令?如果需要連同資料夾一塊複製呢?

 cp;cp -r

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

rm; rm -r; rmdir

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

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

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

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

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

是一種強大的文字搜尋工具,它能使用正則表達式搜尋文字,並把匹 配的行列印出來。
grep [stringSTRING] filename grep [^string] filename

17. 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 死掉的進程

18. 怎麼使一個命令在後台執行?

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

19. 利用 ps 怎麼顯示所有的進程? 怎麼利用 ps 檢視指定進程的資訊?

ps -ef (system v 輸出) 
ps -aux bsd 格式輸出
ps -ef | grep pid

20. 哪個命令專門用來檢視後臺任務?

job -l

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

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

22. 終止進程用什麼命令? 帶什麼參數?

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

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

find <指定目錄> <指定條件> <指定動作>
whereis 加參數與檔名
locate 只加檔名
nd 直接搜尋磁碟,較慢。
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 查詢不包含指定型別的檔案。
which 指令會在 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. 怎樣一頁一頁地檢視一個大檔案的內容?
通過管道將命令」cat file_name.txt」 和 ’more’ 連線在一起可以實現這個需要

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

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

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

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

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

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

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