Linux與命令列基礎

某個目錄中有 a1.txt、a2.txt、a10.txt、b1.txt、c1.txt、a1.csv 共6個檔案。在此目錄執行「ls [ab]?.txt」時,顯示的檔案數量是下列何者?

  1. A2
  2. B3
  3. C4
查看答案與解析

正確答案:B. 3

shell 在執行指令之前,會把含有萬用字元的名稱展開成檔案名稱(glob)。[ab] 比對 a 或 b 其中一個字元,? 比對剛好一個字元,* 比對0個以上的任意字串。[ab]?.txt 表示「a 或 b,接著任意一個字元,再接著 .txt」,因此符合的是 a1.txt、a2.txt、b1.txt 這3個。a10.txt 在 a 後面有兩個字元,c1.txt 開頭是 c,a1.csv 的副檔名不同,所以都不符合。

  • A. [ab] 比對 a 或 b 其中一個字元,所以也包含 b1.txt。
  • B. 正確。是 a1.txt、a2.txt、b1.txt 這3個。
  • C. ? 只比對剛好一個字元,所以不包含 a10.txt。若把 ? 當成像 * 一樣比對0個以上的字元,就會連 a10.txt 也算進去而成為4個。
練習這個領域 前往領域頁面

Linux與命令列基礎的其他題目

  1. 對檔案 run.sh 執行「chmod 754 run.sh」後,「ls -l run.sh」那一行開頭顯示的權限表示法是下列何者?
  2. touch 以 666、mkdir 以 777 去掉 umask 的位元,作為新檔案與新目錄的權限。在 umask 為 027 的 shell 中建立新檔案與新目錄時,兩者權限的組合何者正確?
  3. 目錄 d 的權限為 rwx--x--x(711),其中的檔案 f.txt 的權限為 rw-r--r--(644)。既不是擁有者也不是超級使用者的使用者執行「ls d」與「cat d/f.txt」時,結果是下列何者?
  4. 關於 Linux 的 sudo 指令,下列敘述何者正確?
  5. 在許多 Linux 上執行「ls -l /usr/bin/passwd」會顯示「-rwsr-xr-x 1 root root ...」。擁有者執行位置上的「s」是什麼意思?