Linux與命令列基礎

以 GNU 的 find 執行 find /data -name "*.log" -mtime +7 -size +100M 時,找到的檔案是下列何者?

  1. A名稱以 .log 結尾、最後修改在8天以上之前、大小超過100 MiB的檔案
  2. B名稱以 .log 結尾、最後修改在7天以內、大小超過100 MiB的檔案
  3. C名稱以 .log 結尾、建立時間在8天以上之前、大小超過100 MiB的檔案
查看答案與解析

正確答案:A. 名稱以 .log 結尾、最後修改在8天以上之前、大小超過100 MiB的檔案

-name "*.log" 選出名稱以 .log 結尾者,-mtime 依內容最後修改的時間,-size +100M 選出大小超過100 MiB者。-mtime 是以24小時為單位計算經過時間並捨去小數後的天數來比較,因此 +7 是「大於7」,也就是經過8天(192小時)以上,只經過7天又23小時的檔案不會被選出。7天以內修改過的檔案要用 -mtime -7 選出。把 *.log 用引號括起來,是為了避免 shell 先把它展開成目前目錄中的檔案名稱。

  • A. 正確。+7 表示捨去小數後的天數大於7,也就是8天以上。
  • B. 選出7天以內修改過的檔案的是 -mtime -7。+ 表示「大於」,- 表示「小於」。
  • C. -mtime 比較的不是建立時間,而是內容最後修改的時間。
練習這個領域 前往領域頁面

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

  1. 停止沒有回應的行程時,一般建議先用「kill 行程ID」,仍未結束時才用「kill -9 行程ID」。理由是下列何者?
  2. 在終端機執行耗時的 ./sim.sh 途中,想在同一個終端機使用其他指令。按下 Ctrl+Z 後執行 bg 時的動作是下列何者?
  3. 在以 SSH 連線的伺服器上,用「./run.sh &」啟動耗時的處理後中斷連線,結果處理也停止了。要讓處理在中斷連線後繼續執行,最適當的啟動方式是下列何者?
  4. 在 shell 中執行上面兩行時,顯示的字元是下列何者?
  5. 依序執行上面的指令時,兩個 echo 的輸出是下列何者?