View on GitHub

LinuxDevelopersGuide

Linux Developers Guide

ahidaka / LinuxDevelopersGuide / cpio.md

CPIO

ファイルシステムやディレクトリの丸ごとコピー、バックアップ。

ツリー構造毎コピー(findとの組み合わせ)

$ find . | cpio -dump /somewhare/target_dir

単一ファイルコピー:echoやlsとの組み合わせ (通常はcp -aで十分だが、/dev/等 cpで取れないものを含むFilesystem複製に有効、所有者や権限も保持)

$ echo *something* | cpio -dump /somewhare/target_dir

$ ls *somedir*/* | cpio -dump /somewhare/target_dir

指定ファイルのツリーをコピー

#!/bin/sh
for file in `echo b* c* d* e* i* lib m* r* s* u* v*`; do
    echo file = $file
    find $file | cpio -dump /home/backup
done

※cpioでは他にアーカイブの作成と復元もできるが、普段使わないので使い方は省略。

cpio の主なオプション

-d, --make-directories
必要に応じてディレクトリを作成。 -u, --unconditional
全てのファ イルを上書き。 -m, --preserve-modification-time
コピー先ファイル生成時に、コピー元の更新時刻を復元。 -p, --pass-through
パススルー(コピー)・モード。 -v, --verbose
冗長モード。ファイル名表示。