103.3標準
src以下のパス名には改行が含まれないものとする。
findの一覧を使い、newc形式のbackup.cpioを作成する。
適切なコマンド列はどれか。
× 不正解
cpioのコピーアウトモード-oは、標準入力からファイル名一覧を読み、アーカイブを標準出力へ書く。-H newcで形式を指定する。
詳細解説
誤り
find src -print | cpio -i -H newc > backup.cpio-iはアーカイブからの抽出モードで、作成ではない。
-iは既存アーカイブを読むモードである。
正しい
find src -print | cpio -o -H newc > backup.cpiofindのパス一覧を受け、-oでnewc形式のアーカイブを標準出力へ作る。
正解。findの一覧からnewc形式のアーカイブを作る。
誤り
find src -print | cpio -t -H newc > backup.cpio-tはアーカイブ内容の一覧表示に使う。
-tは格納内容の一覧表示に使う。
誤り
cpio -o -H newc src > backup.cpiocpioのコピーアウトは、引数ではなく標準入力から格納するパス一覧を読む。
srcを位置引数として渡してもコピーアウト対象の一覧にならない。
実際に確かめる
一時的な検証環境で実行できる例です。
LAB_DIR=$(mktemp -d)
mkdir "$LAB_DIR/src"
printf demo > "$LAB_DIR/src/file"
(cd "$LAB_DIR" && find src -print | cpio -o -H newc > backup.cpio)
(cd "$LAB_DIR" && cpio -it < backup.cpio)
rm -r "$LAB_DIR"期待される結果
src
src/file
※cpioのブロック数メッセージが標準エラーへ出る場合がある理解のポイント
- -oはアーカイブ作成
- パス一覧は標準入力から読む
- アーカイブ本体は標準出力へ出る
確認時の注意
- 確認環境: GNU cpio 2.x
基礎のおさらい
標準入出力
コピーアウトでは名前一覧を標準入力から読み、アーカイブデータを標準出力へ書く。
特殊なファイル名
改行を含む名前まで安全に扱うには、対応実装のfind -print0とcpio -0を組み合わせる。
問題IDKP-103-055
確認環境GNU cpio 2.x
最終技術確認2026-08-12
誤り・権利侵害を報告