Linux與命令列基礎

以三選一題型學習 Linux 的目錄結構與路徑、硬連結與符號連結、萬用字元、檔案權限與 chmod、umask、sudo 與 setuid、重新導向與管線、grep 與正規表示式、sort、uniq、cut、sed、awk、find、訊號與工作控制、結束狀態與 &&、||、shell 腳本的引號、引數、條件與迴圈、PATH 與環境變數、套件管理、systemd、cron、df 與 du、SSH 的公開金鑰認證、tar,以及 Git 的基本操作。

練習10題從本領域隨機抽取10題 · 約5分鐘 練習這個領域以隨機順序出題,涵蓋這個領域的所有題目 弱項題目只重做最近答錯的題目

Linux與命令列基礎的重點

大多數的伺服器與雲端都以 Linux 運作,邏輯合成、電路模擬等 EDA 工具通常也在 Linux 伺服器上使用。在那裡,日常工作不是點按畫面上的按鈕,而是在 shell 中輸入指令:查看檔案、篩選日誌、讓耗時的處理在中斷連線後繼續執行等。

本單元學習目錄結構與絕對路徑、相對路徑、隱藏檔、硬連結與符號連結、萬用字元、檔案權限的 rwx 與八進位表示法、umask、目錄的執行權限,以及 sudo 與 setuid。接著介紹重新導向與管線、grep 與正規表示式、結合 sort 與 uniq 的統計、tail -f、cut、sed、awk、find、kill 與訊號、Ctrl+Z 與 bg、fg、nohup、結束狀態與 &&、||、引號與變數展開、腳本的引數、條件與迴圈、PATH 與 export,最後確認套件管理、systemctl、cron 排程、df 與 du、SSH 金鑰、tar,以及 Git 的 add、commit、push 與 .gitignore。指令的行為以 bash 與 GNU 的指令(coreutils、grep、sed、findutils、tar)為準,題目中的輸出都已在 Linux 上實際執行確認。行程與虛擬記憶體的機制在「作業系統與硬體」,連接埠編號與 DNS 在「電腦網路基礎」,存取控制的概念在「資訊安全基礎」,Git 的合併與開發的進行方式則在「軟體開發與專案管理」單元中介紹。

Linux與命令列基礎的題目列表(40題)

  1. Linux 的標準目錄與其中存放的內容,下列哪一個組合正確?
  2. 關於 Linux 的 /proc 目錄,下列敘述何者正確?
  3. 目錄 /home/alice/data 存在,目前目錄為 /home/alice/work。執行「cd ../data」後再執行「pwd」時,顯示的目錄是下列何者?
  4. 在家目錄執行「ls」只顯示 notes.txt,執行「ls -a」則顯示「.」「..」「.bashrc」「notes.txt」。下列哪一個是對此結果的正確說明?
  5. 依序執行上面的指令時,最後兩個 cat 的結果是下列何者?
  6. 某個目錄中有 a1.txt、a2.txt、a10.txt、b1.txt、c1.txt、a1.csv 共6個檔案。在此目錄執行「ls [ab]?.txt」時,顯示的檔案數量是下列何者?
  7. 對檔案 run.sh 執行「chmod 754 run.sh」後,「ls -l run.sh」那一行開頭顯示的權限表示法是下列何者?
  8. touch 以 666、mkdir 以 777 去掉 umask 的位元,作為新檔案與新目錄的權限。在 umask 為 027 的 shell 中建立新檔案與新目錄時,兩者權限的組合何者正確?
  9. 目錄 d 的權限為 rwx--x--x(711),其中的檔案 f.txt 的權限為 rw-r--r--(644)。既不是擁有者也不是超級使用者的使用者執行「ls d」與「cat d/f.txt」時,結果是下列何者?
  10. 關於 Linux 的 sudo 指令,下列敘述何者正確?
  11. 在許多 Linux 上執行「ls -l /usr/bin/passwd」會顯示「-rwsr-xr-x 1 root root ...」。擁有者執行位置上的「s」是什麼意思?
  12. 依序執行上面的指令時,最後的 cat 顯示的內容是下列何者?
  13. 如上所示,在有 a.txt、沒有 nofile 的目錄中執行最後一個指令。結果是下列何者?
  14. 在上面的操作中,最後一個指令輸出的值是下列何者?
  15. 在上面的操作中,最後的 grep 輸出的行是下列何者?
  16. 選項中省略行首的空白。在上面的操作中,最後的管線輸出的行是下列何者?
  17. 想讓之後附加到伺服器日誌檔 /var/log/app.log 的行,在每次附加時持續顯示在畫面上。適當的指令是下列何者?
  18. 上面這個從逗號分隔的行取出欄位的指令,其輸出是下列何者?
  19. 上面這個取代字元的 sed 指令,其輸出是下列何者?
  20. 在上面的操作中,最後的 awk 輸出的內容是下列何者?
  21. 以 GNU 的 find 執行 find /data -name "*.log" -mtime +7 -size +100M 時,找到的檔案是下列何者?
  22. 停止沒有回應的行程時,一般建議先用「kill 行程ID」,仍未結束時才用「kill -9 行程ID」。理由是下列何者?
  23. 在終端機執行耗時的 ./sim.sh 途中,想在同一個終端機使用其他指令。按下 Ctrl+Z 後執行 bg 時的動作是下列何者?
  24. 在以 SSH 連線的伺服器上,用「./run.sh &」啟動耗時的處理後中斷連線,結果處理也停止了。要讓處理在中斷連線後繼續執行,最適當的啟動方式是下列何者?
  25. 在 shell 中執行上面兩行時,顯示的字元是下列何者?
  26. 依序執行上面的指令時,兩個 echo 的輸出是下列何者?
  27. 如上所示,加上引數執行腳本 s.sh 時,輸出是下列何者?
  28. 在 shell 腳本中,上面 if 的條件為真的情況是下列何者?
  29. 上面的操作之後,目錄中的檔案是下列何者?
  30. 目前目錄中有附加執行權限的腳本 run.sh,輸入「run.sh」執行時出現「command not found」,輸入「./run.sh」則能執行。理由是下列何者?
  31. 依序執行上面的指令時,兩個 bash -c 的輸出組合是下列何者?
  32. Linux 的套件管理系統(Debian 系的 apt、Red Hat 系的 dnf 等)的主要功能是下列何者?
  33. 在使用 systemd 的 Linux 上,對服務 license.service 執行「systemctl start license.service」與「systemctl enable license.service」的差異是下列何者?
  34. 在 cron 中登錄了「30 2 * * 1 /home/alice/backup.sh」。backup.sh 執行的時間是下列何者?
  35. Linux 伺服器出現「磁碟空間不足」的警告。查詢各檔案系統的使用量與剩餘容量的指令,以及加總查詢目錄中檔案所用容量的指令,下列哪一個組合正確?
  36. 在自己的 PC 上用 ssh-keygen 建立公開金鑰認證的金鑰對,想不用密碼就以 ssh 連線到伺服器 server1。金鑰的放置方式何者正確?
  37. 執行「tar -czf proj.tar.gz proj/」時的動作是下列何者?
  38. 編輯以 Git 管理的檔案 main.c 後,只執行了「git commit -m "fix"」,結果顯示「no changes added to commit」而沒有提交。理由是下列何者?
  39. 在 Git 中執行了 git commit,但團隊共用的 GitHub 儲存庫中還看不到該提交。理由是下列何者?
  40. 在以 Git 管理的專案的 .gitignore 中寫了「build/」,但以前提交過的 build/out.log 的變更,仍持續出現在 git status 中。理由是下列何者?

電腦系統的其他領域