SHELL 水平測試

2021-05-25 11:15:08 字數 4367 閱讀 9468

有很多種 shell, 你熟悉幾種? 各個 shell 的 home page 在那裡?

2. 為什麼說 zsh 是目前為止功能最為強大的 shell.

3. 為什麼說 pdksh 功能較弱?

4. ksh88 與 ksh93 有何區別?

5. 為什麼 shell 程式設計最好用 ksh?

6. 你的系統都有哪些 shell? 版本是多少?

7. 你知道 posix 嗎?最新版本是多少?和你的 shell 有什麼關係?

8. /sbin/sh 和 /bin/sh 有何區別?

9. 你分析過 1000 行以上的 shell 程式嗎?

10. 各種 shell 的變數名長度有何限制?

11. 各種 shell 的 array size 有何限制?

12. fifo 比 co-process 有什麼優點?

13. (..) 產生的 subshell 與呼叫另乙個指令碼產生的 subshell 有何不同?

14. shell 中的函式可以遞迴嗎?設計時要注意什麼?

15. 如何用 subshell 產生的多個值改變多個 shell 中的變數?

16. file pattern 與 regular expression 有什麼不同?

17. shell 中含有大量文件.不想在每行之前用 # 注釋. 有那兩種方法可以實現?

18. 用 shell 程式安裝配置乙個二進位制可執行軟體.希望將被安裝軟體含在 shell 程式中形成乙個

安裝檔案, 可以嗎?

19. 可以在乙個shell 程式裡包含 ksh 及 perl 兩種**嗎?

20. 如何保證 shell 程式只有單一 instance 執行? (有難度, 絕非乙個 ps 命令可以搞定)

21. 當有同名的 alias, function, builtin command, external command 時,如何知道並控制其執行順序?

22. 如何在自定義 function 中呼叫同名的 builtin command ?

23. 怎樣執行各種 shell 時具有 login shell 的行為?

24. 為何 ksh, rksh, pfksh 都是同乙個 hard link? 功能卻不同?

25. 當 while read .. 這樣的語句用於 pipe 右側時,需注意什麼?

26. 對於多個相連的 pipe,最後的返回碼是 pipe 中那個命令的? 如何取得所有命令的返回碼?

27. cmd  >a  2>a 和 cmd  >a  2>&1 為什麼不同?

28. stdin, stderr 可以關閉嗎? 有什麼結果?

29. gnu tools 與其他 unix 上的相比有什麼特點? 為什麼說不能過分依賴 gnu 擴充套件?

30. vi 及 vim 對行長度及 file size 有什麼限制?

31. 請寫出對 field 1 (數字), field 3 (數字倒序), field 3 (ascii) 進行排序的完整語句.

32. 如何用 diff 及其他工具寫乙個版本控制系統?(要有 check in, check out, file lock .. 等功能)

[color=darkblue][size=18][ shell 水平測試 ][ sed 篇 ][/size][/color]

原帖: 

1. 你能看懂 sed one-lines 中的每一條語句嗎?

2. /regex/! command 與 /regex/ !command 有什麼區別?

3. 你能熟練使用 n,n, p,p,d,d,h,h,g,g,x,:,b,t 嗎?

4. 什麼是 sed 高階程式設計中的 lookup table 技術

5. sed debuger 的原理是什麼?

6. 為什麼 sed 的 guru 和 fans 比 awk 的多.(請看 yahoo groups)

下面幾題根據使用的技術,難度不同.(難度 最小:1,最大:5)

7. 將資料檔案中的每個詞的第乙個字母變成大寫. (難度: 2 - 4)

8. 在 sed 中實現記數器.可加 1 或減 1. (難度: 3 - 4)

9. 提取 html 檔案中 table 中每個單員的內容(table 可巢狀).(難度: 4 - 5)

每乙個 cell 做為乙個單員輸出:

table #1, row #1, column #1

contents .......

table #1, row #1, column #2

contents .......

10. 一般的 sed 的 regex 的匹配都是 greedy 的。如何用 sed 實現 lazy 匹配?

[color=blue][size=18][ shell 水平測試 ][ awk 篇 ][/size][/color]

原帖:  

注: 很多題目在不同的 awk 中實現不同, 請註明每一種 awk 的方法. 

1. awk, oawk, nawk, gawk, mawk 有什麼區別?

2. 在乙個 awk 檔案中,  第一行可以如下嗎?

#! /bin/awk -f: -f

3. awk -f"" 與 awk -f "" 有區別嗎?

4. 可以這樣設定 fs 嗎?  

fs = "[ /t]+/|[ /t]+"

5. gawk 有乙個擴充套件表示式與其他 gnu 工具不同, 是哪個, 為什麼?

6. 那兩種方法可以實現大小寫無關匹配?

7. 下列兩句有何區別?

awk '$0 ~ "[ /t/n]"'

awk '$0 ~ /[ /t/n]/'

8. fs=" " 和 fs=" +" 有何區別?

9. 如何將每乙個字元作為乙個 field ?

10. 如何將整個檔案作為乙個 field ?

11. rs="" 與 rs="/n/n+" 有何區別?

12. nr 和 fnr 有何區別?

13. getline < "file" 改變那些 builtin 變數?

14. 如何不列印最後乙個 field? (不用迴圈)

15. $1 ~ /aaa/ 與 /aaa/ ~ $1 有何區別?

16. a = /a/ 是什麼意思?

17. awk 中的 array 可以排序嗎?

18. 如何將 awk 中得到的值賦給 shell 變數.

19. 如何模擬二維陣列?

20. 你的 awk 陣列最多可能的單元是多少?有限制沒有?

21. 你的 awk 中 field number, record length 及 file size 有何限制?

22. awk 中如何刪除 array 及 關閉管道?

23. 如何完成 rev 功能?

24. 如何在 awk 中使用 coprocess?

25. 你寫過 100 行以上的 awk 程式嗎? 

[color=violet][size=18][ shell 水平測試 ][ regex 篇 ][/size][/color]

原帖: 

1. 傳統 regex, posix regex, gnu regex, pcre 都有什麼特點及異同之處?

2. ere 是 bre 的 super set 嗎?

3. ere看起來強大,但使用 ere 有一點最不爽, 是什麼?

4. 依賴 gnu 擴充套件的危害是什麼?

5. back reference 可以巢狀嗎?

6. dfa 和 nfa 有什麼特點及區別?

7. 常用的 [e]grep, [ng]awk, [g]sed, perl 哪些是 dfa? 哪些是 nfa? 因此這些程式具有哪些相應的特點?

8. greedy regex 和 lazy regex 有何區別? 哪些工具是 lazy regex.

9. 猜一猜乙個符合 rfc 標準的 email adderss 大概需要多長的 regex 來匹配?

10. 你是否有這樣的經歷: 某個使用過的 regex, 用在另個軟體中卻不行。

也就是說你無法確定某個 regex 在同一系統的不同軟體中或在不同系統的相同軟體中肯定能用?

[size=18][color=darkred]附加題[/color][/size]

1. 為什麼說 cu 的整體較為業餘, 但 shell 版的水平相對較高?

2. 為什麼 shell 版中的大部分高手都是玩 linux 的, 而低手往往是 sco unix, hp-ux 等其他平台的?

3. 為什麼當低手怯怯地丟擲乙個問題, 高手快速地給出了漂亮的解答, 卻往往最後並沒有解決低手的問題?

相關連線 :

SHELL 水平測試

有很多種shell,你熟悉幾種?各個shell的homepage在那裡?2.為什麼說zsh是目前為止功能最為強大的shell.3.為什麼說pdksh功能較弱?4.ksh88與ksh93有何區別?5.為什麼shell程式設計最好用ksh?6.你的系統都有哪些shell?版本是多少?7.你知道posix...

2 找到瓶頸 水平測試和垂直測試

在某些時候,你可能注定需要從mysql獲得更高的效能。但是你應該通過改善什麼來提高效能呢?改進乙個特定的查詢,改進你的資料庫表結構,還是改進你的硬體?知道這些的唯一方法是測量你的系統正在做什麼,並且得到它在各種情況下的效能。這也是為什麼我們把這章放在本書開始的原因。最好的策略是找到並加強你的應用中元...

shell條件測試

shell條件測試通常都會用在for while until if等控制流結構中,用於判斷檔案的相關性質或變數的相互關係。條件測試用法 test 表示式 結果 成立返回0,不成立返回非0 檢視結果 echo 以下是幾類常用的測試表示式 1 檔案狀態測試 b filename 當filename 存在...