cpコマンドはLinuxでファイルやディレクトリをコピーするための基本コマンドです。
しかし、オプションによって動作が大きく変わるため、単にコピーするだけでなく「バックアップ目的」「更新のみコピー」「属性保持」などで使い分けることが重要です。
この記事では基本構文から実用例、よくある失敗とその回避までを徹底解説します。
📌 他のLinuxコマンドもまとめて確認したい方へ
ファイル操作・検索・テキスト処理など用途別に整理した総合まとめはこちら。
▶ Linuxコマンド大全|カテゴリ別まとめ+コマンド詳細リンク集(チートシート付き)
目次
cpコマンドの基本構文
cpコマンドは以下の基本構文で動作します:
cp [OPTIONS] SOURCE DESTINATION
SOURCE:コピー元ファイル/ディレクトリ
DESTINATION:コピー先パスを指定します。
よく使う主要オプションと意味
| オプション | 意味 |
|---|---|
| -r | ディレクトリを再帰的にコピー |
| -i | 上書き時に確認プロンプト |
| -v | 進行状況を表示(verbose) |
| -p | パーミッション/タイムスタンプを保持 |
| -u | 更新がある場合のみコピー |
| -a | アーカイブモード(属性すべて保持) |
| -f | 強制上書き |
実践例:よく使う使い方
① 単一ファイルをコピー
cp file.txt /path/to/backup/
最も基本的なファイルコピーです。
② ディレクトリをまるごとコピー(再帰)
cp -r dir1/ dir2/
ディレクトリ全体をコピーします。
③ 上書きを防ぎたい場合(確認付き)
cp -i a.txt b.txt
同名ファイルに上書きする前に確認プロンプトが出ます。
④ 属性を保持してコピーしたい場合
cp -a source/ backup/
パーミッション、所有権、タイムスタンプを保持します。
よくある失敗と対策
- 誤って上書きしてしまった
→ -i や -n オプションを付ける - ディレクトリ構造がコピーできない
→ -r / -a を使う - 更新分だけコピーしたい
→ -u オプション
関連コマンド
mv:移動/名前変更(削除を伴う)rsync:大量データのコピー向け(進行表示付き)scp:リモートホストをまたいだコピー
FAQ(よくある質問)
Q1. cpとrsyncの違いは?
cpは単純コピー、rsyncは進行表示や差分・帯域制御など多機能です。
Q2. ディレクトリだけをコピーしたい場合は?
-r または -a を指定します。
Q3. コピーしたくないファイルを除外する方法は?
cp単体では不可。find + cp や rsync で除外指定します。
あわせて読みたい


Linuxのファイル操作徹底解説!cp・mv・rmでファイル管理をマスター
次に、ファイルやディレクトリの操作について学んでいきます。これにより、作成したファイルをコピー、移動、または削除する方法が理解できるようになります。 📚…
