103.3基礎
var/cache/appという階層を現在のディレクトリ以下へ作る。
varとvar/cacheが存在しなくても1回のコマンドで作成する。
適切なコマンドはどれか。
× 不正解
mkdir -pは指定パスの途中にない親ディレクトリも作る。既存ディレクトリが含まれていても通常はエラーにしない。
詳細解説
誤り
mkdir var/cache/app親のvarが存在しない場合に失敗する。
親のvarやcacheがなければ作成できない。
誤り
rmdir -p var/cache/app階層を作るのではなく、空なら親方向へ削除する。
作成とは逆に空ディレクトリを削除する。
誤り
touch var/cache/app親がなければ失敗し、存在してもappという通常ファイルを対象にする。
ディレクトリ階層を作らず、親があっても通常ファイルを対象にする。
正しい
mkdir -p var/cache/app不足する親ディレクトリも含めて階層を作成する。
正解。var、cache、appの不足部分を順に作る。
実際に確かめる
一時的な検証環境で実行できる例です。
LAB_DIR=$(mktemp -d)
mkdir -p "$LAB_DIR/var/cache/app"
test -d "$LAB_DIR/var/cache/app" && echo CREATED
rm -r "$LAB_DIR"期待される結果
CREATED理解のポイント
- -pは不足する親も作る
- 階層を1回で作成できる
- 既存の親を許容する
確認時の注意
- 確認環境: GNU coreutils 9.x
基礎のおさらい
親ディレクトリ
パスの末端より前にある各ディレクトリが親となる。
冪等な作成
-pは対象がすでにディレクトリとして存在しても通常は成功するため、初期化処理で使いやすい。
問題IDKP-103-046
確認環境GNU coreutils 9.x
最終技術確認2026-08-12
誤り・権利侵害を報告