危険察知4 択難易度 標準

状況

アプリのキャッシュディレクトリ /var/www/app/cache を空にしたい。作業者がコマンドを打ち、Enter を押す直前。

Enter の前に止めるべき点は?

$ sudo rm -rf /var/www/app /cache

正答

  1. /cache は存在しないので、rm がエラーで止まり何も消えない
  2. -rf ではなく -r にして、確認を出しながら消すべき
  3. app と /cache の間に空白があり、/var/www/app 全体が消える
  4. sudo を付けるとファイルが root の所有になるので外すべき

解説

空白があるため、rm は /var/www/app と /cache を別々の引数として消そうとする。/var/www/app はアプリ本体ごと消え、/cache は存在しなくても -f により黙って無視される。rm は引数ごとに処理するので、1 つが存在しなくても他は消える。Enter の前にパスを 1 つずつ目で追い、まず ls で同じ引数を表示して確かめる。-r だけにしても対話確認は出ない(-i が必要)ので、2 番目は対策として不十分。

参考: www.gnu.org

bashrmtypo

この問題を含む 危険察知 のテストを制限時間つきで解く

危険察知クイズへ