46個Linux面試常見問題
問題一:
絕對路徑用什麽符號表示?當前目錄、上層目錄用什麽表示?主目錄用什麽表示? 切換目錄用什麽命令?
答案:
絕對路徑: 如/etc/init.d
當前目錄和上層目錄: ./ ../
主目錄: ~/
切換目錄: cd
問題二:
怎麽查看當前進程?怎麽執行退出?怎麽查看當前路徑?
答案:
查看當前進程: ps
執行退出: exit
查看當前路徑: pwd
問題三:
怎麽清屏?怎麽退出當前命令?怎麽執行睡眠?怎麽查看當前用戶 id?查看指定幫助用什麽命令?
答案:
清屏: clear
退出當前命令: ctrl+c 徹底退出
執行睡眠 : ctrl+z 掛起當前進程fg 恢復後臺
查看當前用戶 id: ”id“:查看顯示目前登陸賬戶的 uid 和 gid 及所屬分組及用戶名
問題四:
Ls 命令執行什麽功能? 可以帶哪些參數,有什麽區別?
答案:
ls 執行的功能: 列出指定目錄中的目錄,以及文件
哪些參數以及區別: a 所有文件l 詳細信息,包括大小字節數,可讀可寫可執行的權限等
問題五:
建立軟鏈接(快捷方式),以及硬鏈接的命令。
答案:
軟鏈接: ln -s slink source
硬鏈接: ln link source
問題六:
目錄創建用什麽命令?創建文件用什麽命令?復制文件用什麽命令?
答案:
創建目錄: mkdir
復制文件: 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=’[\[email protected]\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進行綁定。
[[email protected] ~]# bind ‘”\e[24~":"date"‘
註意:相同的按鍵在不同的終端或終端模擬器下可能會產生不同的字符序列。
【附】也可以使用showkey -a命令查看按鍵對應的字符序列。
問題三十八:
如果一個linux新手想要知道當前系統支持的所有命令的列表,他需要怎麽做?
答案:
使用命令compgen -c,可以打印出所有支持的命令列表。
[[email protected] ~]$ compgen -c
l.
ll
ls
which
if
then
else
elif
fi
case
esac
for
select
while
until
do
done
…
問題三十九:
如果你的助手想要打印出當前的目錄棧,你會建議他怎麽做?
答案:
使用Linux 命令dirs可以將當前的目錄棧打印出來。
[[email protected] ~]# dirs
/usr/share/X11
【附】:目錄棧通過pushd popd 來操作。
問題四十:
你的系統目前有許多正在運行的任務,在不重啟機器的條件下,有什麽方法可以把所有正在運行的進程移除呢?
答案:
使用linux命令 ’disown -r ’可以將所有正在運行的進程移除。
問題四十一:
bash shell 中的hash 命令有什麽作用?
答案:
linux命令’hash’管理著一個內置的哈希表,記錄了已執行過的命令的完整路徑, 用該命令可以打印出你所使用過的命令以及執行的次數。
[[email protected] ~]# hash
hits command
2 /bin/ls
2 /bin/su
問題四十二:
哪一個bash內置命令能夠進行數學運算。
答案:
bash shell 的內置命令let 可以進行整型數的數學運算。
#! /bin/bash
…
…
let c=a+b
…
…
問題四十三:
怎樣一頁一頁地查看一個大文件的內容呢?
答案:
通過管道將命令”cat file_name.txt” 和 ’more’ 連接在一起可以實現這個需要.
[[email protected] ~]# cat file_name.txt | more
問題四十四:
數據字典屬於哪一個用戶的?
答案:
數據字典是屬於’SYS’用戶的,用戶‘SYS’ 和 ’SYSEM’是由系統默認自動創建的
問題四十五:
怎樣查看一個linux命令的概要與用法?假設你在/bin目錄中偶然看到一個你從沒見過的的命令,怎樣才能知道它的作用和用法呢?
答案:
使用命令whatis 可以先出顯示出這個命令的用法簡要,比如,你可以使用whatis zcat 去查看‘zcat’的介紹以及使用簡要。
[[email protected] ~]# whatis zcat
zcat [gzip] (1) – compress or expand files
問題四十六:
使用哪一個命令可以查看自己文件系統的磁盤空間配額呢?
答案:
使用命令repquota 能夠顯示出一個文件系統的配額信息
【附】只有root用戶才能夠查看其它用戶的配額。
46個Linux面試常見問題