Linux與命令列基礎
以三選一題型學習 Linux 的目錄結構與路徑、硬連結與符號連結、萬用字元、檔案權限與 chmod、umask、sudo 與 setuid、重新導向與管線、grep 與正規表示式、sort、uniq、cut、sed、awk、find、訊號與工作控制、結束狀態與 &&、||、shell 腳本的引號、引數、條件與迴圈、PATH 與環境變數、套件管理、systemd、cron、df 與 du、SSH 的公開金鑰認證、tar,以及 Git 的基本操作。
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題)
- Linux 的標準目錄與其中存放的內容,下列哪一個組合正確?
- 關於 Linux 的 /proc 目錄,下列敘述何者正確?
- 目錄 /home/alice/data 存在,目前目錄為 /home/alice/work。執行「cd ../data」後再執行「pwd」時,顯示的目錄是下列何者?
- 在家目錄執行「ls」只顯示 notes.txt,執行「ls -a」則顯示「.」「..」「.bashrc」「notes.txt」。下列哪一個是對此結果的正確說明?
- 依序執行上面的指令時,最後兩個 cat 的結果是下列何者?
- 某個目錄中有 a1.txt、a2.txt、a10.txt、b1.txt、c1.txt、a1.csv 共6個檔案。在此目錄執行「ls [ab]?.txt」時,顯示的檔案數量是下列何者?
- 對檔案 run.sh 執行「chmod 754 run.sh」後,「ls -l run.sh」那一行開頭顯示的權限表示法是下列何者?
- touch 以 666、mkdir 以 777 去掉 umask 的位元,作為新檔案與新目錄的權限。在 umask 為 027 的 shell 中建立新檔案與新目錄時,兩者權限的組合何者正確?
- 目錄 d 的權限為 rwx--x--x(711),其中的檔案 f.txt 的權限為 rw-r--r--(644)。既不是擁有者也不是超級使用者的使用者執行「ls d」與「cat d/f.txt」時,結果是下列何者?
- 關於 Linux 的 sudo 指令,下列敘述何者正確?
- 在許多 Linux 上執行「ls -l /usr/bin/passwd」會顯示「-rwsr-xr-x 1 root root ...」。擁有者執行位置上的「s」是什麼意思?
- 依序執行上面的指令時,最後的 cat 顯示的內容是下列何者?
- 如上所示,在有 a.txt、沒有 nofile 的目錄中執行最後一個指令。結果是下列何者?
- 在上面的操作中,最後一個指令輸出的值是下列何者?
- 在上面的操作中,最後的 grep 輸出的行是下列何者?
- 選項中省略行首的空白。在上面的操作中,最後的管線輸出的行是下列何者?
- 想讓之後附加到伺服器日誌檔 /var/log/app.log 的行,在每次附加時持續顯示在畫面上。適當的指令是下列何者?
- 上面這個從逗號分隔的行取出欄位的指令,其輸出是下列何者?
- 上面這個取代字元的 sed 指令,其輸出是下列何者?
- 在上面的操作中,最後的 awk 輸出的內容是下列何者?
- 以 GNU 的 find 執行 find /data -name "*.log" -mtime +7 -size +100M 時,找到的檔案是下列何者?
- 停止沒有回應的行程時,一般建議先用「kill 行程ID」,仍未結束時才用「kill -9 行程ID」。理由是下列何者?
- 在終端機執行耗時的 ./sim.sh 途中,想在同一個終端機使用其他指令。按下 Ctrl+Z 後執行 bg 時的動作是下列何者?
- 在以 SSH 連線的伺服器上,用「./run.sh &」啟動耗時的處理後中斷連線,結果處理也停止了。要讓處理在中斷連線後繼續執行,最適當的啟動方式是下列何者?
- 在 shell 中執行上面兩行時,顯示的字元是下列何者?
- 依序執行上面的指令時,兩個 echo 的輸出是下列何者?
- 如上所示,加上引數執行腳本 s.sh 時,輸出是下列何者?
- 在 shell 腳本中,上面 if 的條件為真的情況是下列何者?
- 上面的操作之後,目錄中的檔案是下列何者?
- 目前目錄中有附加執行權限的腳本 run.sh,輸入「run.sh」執行時出現「command not found」,輸入「./run.sh」則能執行。理由是下列何者?
- 依序執行上面的指令時,兩個 bash -c 的輸出組合是下列何者?
- Linux 的套件管理系統(Debian 系的 apt、Red Hat 系的 dnf 等)的主要功能是下列何者?
- 在使用 systemd 的 Linux 上,對服務 license.service 執行「systemctl start license.service」與「systemctl enable license.service」的差異是下列何者?
- 在 cron 中登錄了「30 2 * * 1 /home/alice/backup.sh」。backup.sh 執行的時間是下列何者?
- Linux 伺服器出現「磁碟空間不足」的警告。查詢各檔案系統的使用量與剩餘容量的指令,以及加總查詢目錄中檔案所用容量的指令,下列哪一個組合正確?
- 在自己的 PC 上用 ssh-keygen 建立公開金鑰認證的金鑰對,想不用密碼就以 ssh 連線到伺服器 server1。金鑰的放置方式何者正確?
- 執行「tar -czf proj.tar.gz proj/」時的動作是下列何者?
- 編輯以 Git 管理的檔案 main.c 後,只執行了「git commit -m "fix"」,結果顯示「no changes added to commit」而沒有提交。理由是下列何者?
- 在 Git 中執行了 git commit,但團隊共用的 GitHub 儲存庫中還看不到該提交。理由是下列何者?
- 在以 Git 管理的專案的 .gitignore 中寫了「build/」,但以前提交過的 build/out.log 的變更,仍持續出現在 git status 中。理由是下列何者?
電腦系統的其他領域
- 電腦算術 IEEE 754、定點數、捨入誤差
- 機率、統計與等候理論 情形數、機率分布、估計與檢定、M/M/1
- 資訊理論與編碼基礎 熵、霍夫曼編碼、漢明碼、CRC
- 指令集與組合語言 RISC-V、定址模式、呼叫慣例
- 編譯器 語法分析、SSA、最佳化、暫存器配置
- 連結器與載入器與執行檔格式 ELF、符號解析、重定位、動態連結
- 作業系統與硬體 中斷、系統呼叫、分頁錯誤
- 記憶體階層與效能 快取、替換策略、三種失誤
- 多核心與同步 MESI、原子指令、記憶體屏障
- GPU程式設計 warp、共享記憶體、合併存取、佔用率
- AI硬體與軟體堆疊 推論與訓練、量化、Roofline模型
- 機器學習基礎 學習類型、評估指標與神經網路
- 嵌入式與韌體 GPIO、UART/SPI/I2C、RTOS
- 硬體描述語言與驗證 Verilog、閂鎖、狀態機、測試平台
- 介面與匯流排規格 PCIe、USB、SerDes、CXL
- 電腦網路基礎 TCP/IP、子網路計算、DNS、TLS
- Web技術基礎 HTTP、Cookie、REST、CORS、快取
- 無線通訊基礎 調變、OFDM、MIMO與射頻電路
- 資訊安全基礎 加密、驗證、網頁攻擊與對策
- 資料庫基礎 SQL、正規化、交易
- 資料結構與演算法 時間複雜度、搜尋、排序與圖
- 程式設計基礎(虛擬碼追蹤) 虛擬碼、追蹤、陣列與遞迴
- C語言基礎 指標、記憶體、未定義行為
- 軟體開發與專案管理 開發流程、測試、時程與成本管理
- 經營策略與會計基礎 會計、損益兩平點、經營策略、行銷
- IT服務管理與系統稽核 SLA、事件與問題、稽核與內部控制
- 系統架構與可靠度設計 備援、RAID、備份與雲端
- 雲端與容器基礎 Docker、Kubernetes、共同責任模型、IaC
- 效能評估與效能剖析 阿姆達爾定律、CPI、瓶頸
- 硬體安全 旁路攻擊、安全開機、TEE、PUF
- 電源管理(軟體控制) DVFS、電源閘控、睡眠狀態