1.02.2基礎
logs/2026/08がまだどの階層も存在しない。
1回のmkdirで必要な親を含めて作成する。
適切なコマンドはどれか。
× 不正解
mkdir -pは指定パスに不足する親ディレクトリを作りながら末端まで作成する。
詳細解説
誤り
mkdir logs/2026/08親のlogs/2026が存在しないため作成に失敗する。
誤り。通常のmkdirは直前の親が存在しないパスを自動的に補わない。
正しい
mkdir -p logs/2026/08不足する親ディレクトリを順に作り、既存でもエラーにしない。
正しい。-pがlogs、2026、08を必要に応じて順に作成する。
誤り
mkdir -m logs/2026/08-mにはモード引数が必要で、親の自動作成を指定しない。
誤り。-mはアクセスモード用で、親ディレクトリ作成の指定ではなく、モード値も欠けている。
誤り
rmdir -p logs/2026/08空の対象と親を削除する方向の操作である。
誤り。rmdirは削除コマンドであり、-pは空の親を含めて取り除く方向に働く。
実際に確かめる
一時的な検証環境で実行できる例です。
tmp=$(mktemp -d); mkdir -p "$tmp/logs/2026/08"; test -d "$tmp/logs/2026/08" && echo created; rm -rf "$tmp"期待される結果
created理解のポイント
- -pはparents
- 親がなくても作成
- 既存ディレクトリも許容
確認時の注意
- 確認環境: GNU coreutils 9.x / 一時ディレクトリ
基礎のおさらい
パスの階層
末端を作るには直前の親が存在する必要があり、-pがその前提を自動で満たす。
冪等な作成
mkdir -pは目的のディレクトリが既に存在しても通常は成功するため、初期化処理で使いやすい。
問題IDKL-101-395
確認環境GNU coreutils 9.x / 一時ディレクトリ
最終技術確認2026-08-13
誤り・権利侵害を報告