状況
アプリのキャッシュディレクトリ /var/www/app/cache を空にしたい。作業者がコマンドを打ち、Enter を押す直前。
Enter の前に止めるべき点は?
$ sudo rm -rf /var/www/app /cache正答
- /cache は存在しないので、rm がエラーで止まり何も消えない
- -rf ではなく -r にして、確認を出しながら消すべき
- app と /cache の間に空白があり、/var/www/app 全体が消える
- sudo を付けるとファイルが root の所有になるので外すべき
解説
空白があるため、rm は /var/www/app と /cache を別々の引数として消そうとする。/var/www/app はアプリ本体ごと消え、/cache は存在しなくても -f により黙って無視される。rm は引数ごとに処理するので、1 つが存在しなくても他は消える。Enter の前にパスを 1 つずつ目で追い、まず ls で同じ引数を表示して確かめる。-r だけにしても対話確認は出ない(-i が必要)ので、2 番目は対策として不十分。
参考: www.gnu.org
この問題を含む 危険察知 のテストを制限時間つきで解く
危険察知クイズへ