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

RPMパッケージをインストールする際に、詳細情報を表示し、進行状況を「#」で表示するオプションは?

2 / 10

システム管理者が別のユーザー(特にroot)に切り替わるコマンドは?

3 / 10

実行しようとしているコマンドが、どのディレクトリにある実行ファイルかを表示するコマンドは?

4 / 10

ファイルのMD5チェックサムを計算し、改ざんがないか確認するコマンドは?

5 / 10

新規ファイル作成時のデフォルトのアクセス権を制限(マスク)する値を設定するコマンドは?

6 / 10

システム全体の平均的なディスクI/OやCPU使用率をレポートするコマンドは?

7 / 10

現在マウントされているファイルシステムの一覧を表示するコマンドは?

8 / 10

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

9 / 10

DNSサーバーに対して正引き(ドメインからIP)を問い合わせる推奨コマンドは?

10 / 10

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

あなたのスコアは

平均スコアは 58%

0%

目次