この記事では、LPIC 学習向けに cp コマンドを整理します。cp はファイルやディレクトリをコピーする基本コマンドですが、上書き、属性保持、再帰コピーの違いを理解していないと事故につながります。
cp コマンドの基本
cp は copy の略で、ファイルやディレクトリを別の場所へ複製します。元のファイルは残り、コピー先に新しいファイルが作成されます。
cp source.txt dest.txt
cp source.txt /tmp/
cp file1.txt file2.txt /tmp/ディレクトリをコピーする
ディレクトリをコピーするには -r または -a を使います。単なる再帰コピーなら -r、属性も含めてなるべく保持したい場合は -a が使われます。
cp -r dir1 dir2
cp -a dir1 dir2| オプション | 意味 |
| -r | ディレクトリを再帰的にコピーする |
| -a | 属性をできるだけ保持してコピーする |
| -i | 上書き前に確認する |
| -v | コピーしたファイルを表示する |
| -p | 所有者、時刻、権限などを保持する |
上書き事故を避ける
cp はコピー先に同名ファイルがあると上書きする場合があります。重要なファイルでは -i や事前の ls 確認を使います。
ls -l /etc/example.conf
cp -i example.conf /etc/example.conf
cp -av /etc/example.conf /etc/example.conf.bakよくある使い方
cp はコピー先の指定を間違えると、意図せず上書きしたり、ディレクトリ配下にコピーされたりします。コピー元、コピー先、ディレクトリ扱いを分けて確認することが大切です。
cp source.txt dest.txt
cp -i source.txt dest.txt
cp -a /etc/nginx /tmp/nginx.backup
cp -r dir1 dir2注意点
| オプション | 意味 |
| -i | 上書き前に確認する |
| -a | 属性をできるだけ保持してコピーする |
| -r | ディレクトリを再帰的にコピーする |
| -p | 所有者、時刻、権限などを保持する |
設定ファイルを触る前のバックアップでは、単に cp file file.bak とするだけでなく、時刻を含めると復旧時に分かりやすくなります。
cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.$(date +%Y%m%d%H%M%S)まとめ
cp は簡単なコマンドですが、再帰コピー、属性保持、上書き確認を理解して使う必要があります。LPIC では、-r、-a、-p、-i の違いを押さえておくと、実際の管理作業にもつながります。
関連する記事
- LPIC cat コマンド – ファイル内容を表示する
ファイル内容を確認する基本コマンドです。 - LPIC rm コマンド – ファイル削除の基本と注意点
削除操作の基本と注意点です。 - LPIC 学習ノート – Linux 基礎とコマンド整理
LPIC 関連記事のハブです。
参考書籍
参考
書籍
書籍
参考書籍
ストーリーで覚える Linux CLI 入門
Linux のコマンドライン操作を基礎から確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
LPIC cp コマンド – ファイルとディレクトリをコピーする

