cpコマンド完全ガイド|基本〜実務で使うオプション・実例・注意点まで

  • URLをコピーしました!

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 で除外指定します。

LPIC Lv1準拠!Linuxコマンド演習(基礎編)Vol.1【全10問】

厳選された100問のコマンド問題から、毎回ランダムで10問を出題。
挑戦するたびに新しい問題に出会えるので、真の実力が試されます。

1 / 10

実行中のプロセスをCPU使用率順などで動的に表示するコマンドは?

2 / 10

リモートホストとの疎通を確認するためにICMPパケットを送るコマンドは?

3 / 10

共有ライブラリの依存関係を確認するコマンドは?

4 / 10

シェルの組み込みコマンド(cd, aliasなど)のヘルプを表示するコマンドは?

5 / 10

viエディタで、変更を保存して終了するコマンド(コマンドモード)は?

6 / 10

一時停止(Ctrl+Z)したジョブをバックグラウンドで再開させるコマンドは?

7 / 10

コマンドの標準出力を、画面に表示しつつファイルにも保存するコマンドは?

8 / 10

連続した重複行を1行にまとめるコマンド(事前にsortが必要)は?

9 / 10

システムログ(/var/log/messages等)を管理・ローテートする仕組みは?

10 / 10

ディレクトリとその中身を、再帰的に(一括で)コピーするcpコマンドのオプションは?

あなたのスコアは

平均スコアは 43%

0%

目次