Linux面試專題*48

文章目錄

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、查看文件有哪些命令

vi 文件名 #編輯方式查看,可修改
cat 文件名 #顯示全部文件內容
more 文件名 #分頁顯示文件內容
less 文件名 #與 more 相似,更好的是可以往前翻頁
tail 文件名 #僅查看尾部,還可以指定行數
head 文件名 #僅查看頭部,還可以指定行數

6、列舉幾個常用的Linux命令

列出文件列表:ls【參數 -a -l】
創建目錄和移除目錄:mkdir rmdir
用於顯示文件後幾行內容:tail,例如: tail -n 1000:顯示最後1000行打包:tar -xvf
打包並壓縮:tar -zcvf
查找字符串:grep
顯示當前所在目錄:pwd創建空文件:touch 編輯器:vim vi

7、你平時是怎麼查看日誌的?

Linux查看日誌的命令有多種: tail、cat、tac、head、echo等,本文只介紹幾種常用的方法。
1、tail
最常用的一種查看方式
命令格式: tail[必要參數][選擇參數][文件]
-f 循環讀取
-q 不顯示處理信息
-v 顯示詳細的處理信息
-c<數目> 顯示的字節數
-n<行數> 顯示行數
-q, --quiet, --silent 從不輸出給出文件名的首部
-s, --sleep-interval=S 與-f合用,表示在每次反覆的間隔休眠S秒
例如:

tail -n 10 test.log 查詢日誌尾部最後10行的日誌; 
tail -n +10 test.log 查詢10行之後的所有日誌;
tail -fn 10 test.log 循環實時查看最後1000行記錄(最常用的)

一般還會配合着grep搜索用,例如 :

tail -fn 1000 test.log | grep '關鍵字'

如果一次性查詢的數據量太大,可以進行翻頁查看,例如 :

tail -n 4700 aa.log |more -1000 可以進行多屏顯示(ctrl + f 或者 空格鍵可以快捷鍵)

2、head
跟tail是相反的head是看前多少行日誌

head -n 10 test.log 查詢日誌文件中的頭10行日誌;
head -n -10 test.log 查詢日誌文件除了最後10行的其他所有日誌;

head其他參數參考tail
3 、 cat
cat 是由第一行到最後一行連續顯示在屏幕上一次顯示整個文件 :

 $ cat filename

從鍵盤創建一個文件 :

$cat > filename

將幾個文件合併爲一個文件:

$cat file1 file2 > file 只能創建新文件,不能編輯已有文件

將一個日誌文件的內容追加到另外一個 :

$cat -n textfile1 > textfile2

清空一個日誌文件:

$cat : >textfile2

注意:> 意思是創建,>>是追加。千萬不要弄混了。
cat其他參數參考tail
5、sed
這個命令可以查找日誌文件特定的一段 , 根據時間的一個範圍查詢,可以按照行號和時間範圍查詢按照行號

sed -n '5,10p' filename 這樣你就可以只查看文件的第5行到第10行。

按照時間段

sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log

6、less
less命令在查詢日誌時,一般流程是這樣的

less log.log
shift + G 命令到文件尾部 然後輸入 ?加上你要搜索的關鍵字例如 ?1213 按 n 向上查找關鍵字
shift+n                                                     
反 向 查 找 關 鍵 字less與more類似,使用less可以隨意瀏覽文件,而more僅能向前移動,不能向後移動,而且 less 在查看之前不會加載整個文件。
less log2013.log 查看文件
ps -ef | less ps查看進程信息並通過less分頁顯示
history | less 查看命令歷史使用記錄並通過less分頁顯示
less log2013.log log2014.log 瀏覽多個文件

常用命令參數:

less與more類似,使用less可以隨意瀏覽文件,而more僅能向前移動,不能向後移動,而且 less 在查看之前不會加載整個文件。
less log2013.log 查看文件
ps -ef | less ps查看進程信息並通過less分頁顯示
history | less 查看命令歷史使用記錄並通過less分頁顯示
less log2013.log log2014.log 瀏覽多個文件

常用命令參數:
-b <緩衝區大小> 設置緩衝區的大小
-g 只標誌最後搜索的關鍵詞
-i 忽略搜索時的大小寫
-m 顯示類似more命令的百分比
-N 顯示每行的行號
-o <文件名> 將less 輸出的內容在指定文件中保存起來
-Q 不使用警告音
-s 顯示連續空行爲一行
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能      
n:重複前一個搜索(與 / 或 ? 有關)
N:反向重複前一個搜索(與 / 或 ? 有關)
b   向後翻一頁h 顯示幫助界面q 退出less 命令

一般本人查日誌配合應用的其他命令

history // 所有的歷史記錄
history | grep XXX // 歷史記錄中包含某些指令的記錄
history | more // 分頁查看記錄
history -c // 清空所有的歷史記錄
!! 重複執行上一個命令
查詢出來記錄後選中 : !323

8、建立軟鏈接(快捷方式),以及硬鏈接的命令

軟鏈接: ln -s slink source
硬鏈接: ln link source

9、目錄創建用什麼命令?創建文件用什麼命令?複製文件用什麼命令?

創建目錄: 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 目錄下所有文件和子目錄的屬主分配讀的權限

10、查看文件內容有哪些命令可以使用?

vi文件名 #編輯方式查看,可修改
cat 文件名 #顯示全部文件內容
more 文件名 #分頁顯示文件內容
less 文件名 #與 more 相似,更好的是可以往前翻頁
tail 文件名 #僅查看尾部,還可以指定行數
head 文件名 #僅查看頭部,還可以指定行數

11、隨意寫文件命令?怎麼向屏幕輸出帶空格的字符串,比如”hello world”?

寫文件命令:vi
向屏幕輸出帶空格的字符串:echo hello world

12、終端是哪個文件夾下的哪個文件?黑洞文件是哪個文件夾下的哪個命令?

終端 /dev/tty
黑洞文件 /dev/null

13、移動文件用哪個命令?改名用哪個命令?

mv mv

14、複製文件用哪個命令?如果需要連同文件夾一塊複製呢?如果需要有提示功能呢?

cp cp -r ?? ??

15、刪除文件用哪個命令?如果需要連目錄及目錄下文件一塊刪除呢?刪除空文件夾用什麼命令?

rm rm -r rmdir

16、Linux 下命令有哪幾種可使用的通配符?分別代表什麼含義?

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

17、用什麼命令對一個文件的內容進行統計?(行號、單詞數、字節數)

wc 命令 - c 統計字節數 - l 統計行數 - w 統計字數。

18、Grep 命令有什麼用? 如何忽略大小寫? 如何查找不含該串的行?

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

19、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 死掉的進程

20、怎麼使一個命令在後臺運行?

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

21、利用 ps 怎麼顯示所有的進程? 怎麼利用 ps 查看指定進程的信息?

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

22、哪個命令專門用來查看後臺任務?

job -l

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

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

24、終止進程用什麼命令? 帶什麼參數?

kill [-s <信息名稱或編號>][程序] 或 kill [-l <信息編號>]
kill-9 pid

25、怎麼查看系統支持的所有信號?

kill -l

26、搜索文件用什麼命令? 格式是怎麼樣的?

find <指定目錄> <指定條件> <指定動作> whereis 加 參 數 與 文 件 名locate 只加文件名
find 直接搜索磁盤,較慢。
find / -name “string*”

27、查看當前誰在使用該主機用什麼命令? 查找自己所在的終端信息用什麼命令?

查找自己所在的終端信息:who am i
查看當前誰在使用該主機:who

28、使用什麼命令查看用過的命令列表?

history

29、使用什麼命令查看磁盤使用空間? 空閒空間呢?

df -h

文件系統 容量 已用 可用 已用% 掛載點

Filesystem Size Used Avail Use% Mounted on /dev/hda2 45G 19G 24G 
44% /
/dev/hda1 494M 19M 450M 4% /boot

30、使用什麼命令查看網絡是否連通?

netstat

31、使用什麼命令查看 ip 地址及接口信息?

ifconfig

32、查看各類環境變量用什麼命令?

查看所有 env
查看某個,如 home: env $HOME

33、通過什麼命令指定命令提示符?

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

34、查找命令的可執行文件是去哪查找的? 怎麼對其進行設置及添加?

whereis [-bfmsu][-B <目 錄 >…][-M <目 錄 >…][-S <目 錄 >…][文 件 …]
補 充 說 明 : whereis 指 令 會 在 特 定 目 錄 中 查 找 符 合 條 件 的 文 件 。 這 些 文 件 的 烈 性應 屬 於 原 始 代 碼 , 二 進 制 文 件 , 或 是 幫 助 文 件 。
-b 只查找二進制文件。
-B <目錄> 只在設置的目錄下查找二進制文件。 -f 不顯示文件名前的路徑名稱。
-m 只查找說明文件。
-M <目錄> 只在設置的目錄下查找說明文件。-s 只查找原始代碼文件。
-S <目錄> 只在設置的目錄下查找原始代碼文件。 -u 查找不包含指定類型的文件。
w -h ich 指令會在 PATH 變量指定的路徑中,搜索某個系統命令的位置,並且返回第一個搜索結果。
-n 指定文件名長度,指定的長度必須大於或等於所有文件中最長的文件名。
-p 與-n 參數相同,但此處的包括了文件的路徑。 -w 指定輸出時欄位的寬度。
-V 顯示版本信息

35、通過什麼命令查找執行命令?

which 只能查可執行文件
whereis 只能查二進制文件、說明文檔,源文件等

36、怎麼對命令進行取別名?

alias la='ls -a

37、du 和 df 的定義,以及區別?

du 顯示目錄或文件的大小
df 顯示每個<文件>所在的文件系統的信息,默認是顯示所有文件系統。(文件系統分配其中的一些磁盤塊用來記錄它自身的一些數據,如 i 節點,磁盤分佈圖,間接塊,超級塊等。這些數據對大多數用戶級的程序來說是不可見的,通常稱爲 Meta Data。) du 命令是用戶級的程序,它不考慮 Meta Data,而 df命令則查看文件系統的磁盤分配圖並考慮Meta Data。
df 命令獲得真正的文件系統數據,而 du 命令只查看文件系統的部分情況。

38、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

39、當你需要給命令綁定一個宏或者按鍵的時候,應該怎麼做呢?

可以使用 bind 命令,bind 可以很方便地在 shell 中實現宏或按鍵的綁定。在進行按鍵綁定的時候,我們需要先獲取到綁定按鍵對應的字符序列。
比如獲取 F12 的字符序列獲取方法如下:先按下 Ctrl+V,然後按下 F12 .我們就可以得到 F12 的字符序列 ^[[24~。
接着使用 bind 進行綁定

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

注意:相同的按鍵在不同的終端或終端模擬器下可能會產生不同的字符序列。
【附】也可以使用 showkey -a 命令查看按鍵對應的字符序列。

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

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

[root@localhost ~]$ compgen -c 
l.ll 
ls
which 
if 
then 
else 
elif 
fi

case 
esac 
for 
select 
while 
until 
do 
done
…

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

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

[root@localhost ~]# dirs
/usr/share/X11

42、你的系統目前有許多正在運行的任務,在不重啓機器的條件下,有什麼方法可以把所有正在運行的進程移除呢?

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

43、bash shell 中的 hash 命令有什麼作用?

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

[root@localhost ~]# hash hits command
2 /bin/ls
2 /bin/su

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

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

#! /bin/bash
… … le t c=a+b
… …

45、怎樣一頁一頁地查看一個大文件的內容呢?

通過管道將命令”cat file_name.txt” 和 ’more’ 連接在一起可以實現這個需要

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

46、數據字典屬於哪一個用戶的?

數據字典是屬於’SYS’用戶的,用戶‘SYS’ 和 ’SYSEM’是由系統默認自動創建的

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

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


[root@localhost ~]# whatis zcat
zcat [gzip] (1) – compress or expand files

48、使用哪一個命令可以查看自己文件系統的磁盤空間配額呢?

使用 命令 repquota 能夠 顯示 出一 個文 件系 統的 配額 信息
【附 】只 有 root 用戶 才能 夠查 看其 它用 戶的 配額 。

擴展連接:加粗樣式更多請點擊這裏

博主公衆號程序員小羊 只發面試相關推文
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章