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=’[\[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使用者才能夠檢視其它使用者的配額。