最終更新:2025-02-22
cp
コマンドは、Unix系システムにおいてファイルやディレクトリのコピーを行うための基本的なコマンドである。
ファイルの内容をそのまま別の場所に複製する際に利用され、システムのバックアップや設定ファイルの複製、開発環境でのファイルの整理など、さまざまな用途に活用される。オプションを併用することで、コピー動作を細かく制御できるので、誤った上書きや属性の消失を防ぐことが可能である。
cp = CoPy
主なオプション
-r
または-R
ディレクトリを再帰的にコピーするためのオプションである。ディレクトリ内のすべてのファイルおよびサブディレクトリがコピー対象となる。-p
コピー元ファイルのパーミッション、所有者、タイムスタンプなどの属性を保持してコピーする。元のファイル属性を維持する必要がある場合に有用である。-v
処理の進行状況を詳細に表示する。どのファイルがコピーされたかを確認するために用いられる。
ハンズオン
以下に、cp
コマンドの具体的な使用例を示す。実際にコマンドを実行し、動作を確認することが望ましい。
1. 単一ファイルのコピー
cp source.txt destination.txt
このコマンドは、source.txt
を読み込み、その内容と名称を保持したままdestination.txt
という新しいファイルを作成する。既存のdestination.txt
が存在する場合は、上書きされるので注意すること。
2. 再帰的なディレクトリのコピー
cp -r project_dir/ backup_project_dir/
この例では、project_dir
というディレクトリ内のすべてのファイルとサブディレクトリが、backup_project_dir
として複製される。ディレクトリ構造をそのまま再現するため、バックアップの作成やプロジェクトの複製時に利用される。
3. 属性を保持したファイルのコピー
cp -p source.txt destination.txt
-p
オプションを指定することで、source.txt
のアクセス権、所有者、タイムスタンプといった属性が保持されたまま、destination.txt
へコピーされる。ファイル属性の変化が問題となる場合に推奨される。
4. 詳細表示を伴うコピー
cp -v source.txt destination.txt
-v
オプションにより、コピー処理中に各ファイルがどのようにコピーされたかが詳細に表示される。処理内容を確認しながら操作する際に有用である。