
スポンサーリンク
Linuxのcp
コマンドはファイルやディレクトリをコピーするための便利なコマンドです。
本記事では、cp
コマンドを使ってディレクトリを再帰的にコピーする方法について、詳しく解説します。
cp
コマンドで再帰的なコピーをする
cp
コマンドは、LinuxやUnix系システムでファイルやディレクトリをコピーするためのコマンドです。cp
は単一ファイルのコピーだけでなく、ディレクトリ全体をコピーすることも可能です。
基本的な構文は以下の通りです。
cp [オプション] コピー元 コピー先
再帰的なコピーとは
再帰的なコピーとは、ディレクトリの中身を含めて階層構造全体をコピーすることです。
これにより、サブディレクトリ内のファイルやさらに深い階層の内容も含めてコピーすることが可能です。
cp -r
オプションの使い方
再帰的なコピーを行うには、-r
または--recursive
オプションを使用します。
このオプションは、ディレクトリ全体を含むコピー操作を可能にします。
構文は以下の通りです。
cp -r コピー元ディレクトリ コピー先ディレクトリ
以下に実行例を示します。
cp -r /path/to/source /path/to/destination
使用例
ディレクトリを別の場所にコピーする
たとえば、/home/user/documents
を/backup/documents
にコピーするには、以下のコマンドを使用します。
cp -r /home/user/documents /backup/
これにより、documents
ディレクトリとその中のすべてのファイル・サブディレクトリが/backup
配下にコピーされます。
コピーの進行状況を表示する
コピー操作中に詳細な進行状況を確認したい場合は、-v
(verbose)オプションを追加します。
cp -rv /home/user/documents /backup/
このコマンドは、コピーされるファイルやディレクトリの名前を逐一ターミナルに出力します。
パーミッション、所有者、タイムスタンプを保持する
コピー元のパーミッション、所有者、タイムスタンプを保持したい場合は-p
オプションを指定します。
cp -rp /home/user/documents /backup/
既存ファイルより新しい場合のみコピーする
既存ファイルより新しいファイルのみコピーしたい場合は-u
オプションを指定します。
cp -ru /home/user/documents /backup/
オプションまとめ
各オプションをまとめると以下の通りです。
オプション | 説明 |
---|---|
-r | ディレクトリを再帰的にコピー |
-p | パーミッション、タイムスタンプなどを保持 |
-v | 実行中のコピー操作を詳細に表示 |
-u | 既存ファイルより新しい場合のみコピー |
必要に応じて各オプションを組み合わせることで、柔軟に再帰的なコピーを実行することができます。
cp -rpvu /home/user/documents /backup/
よくあるエラーとその対処方法
「Permission denied」エラー
Permission denied
はディレクトリのアクセス権限が不足している場合に発生するエラーです。
この場合、sudo
コマンドを使用して管理者権限で操作を行います。
sudo cp -r /home/user/documents /backup/
ディスク容量不足エラー
コピー先のディスク容量が不足している場合に発生します。
dfコマンドでディスクの空き容量を確認しましょう。
df -h
不要なファイルを削除してスペースを確保してください。
まとめ
Linuxのcp
コマンドを使えば、ディレクトリを再帰的にコピーすることが簡単にできます。
-r
オプションを活用することで、ディレクトリ構造全体をそのままコピー可能です。
さらに、-v
オプションを追加することで進行状況を把握しながら操作を行うこともできます。
日常的なファイル管理やバックアップにぜひ活用してみてください!
以上で本記事の解説を終わります。
よいITライフを!