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

プロセスの優先度(Nice値)を指定してコマンドを起動するコマンドは?

2 / 10

ファイルの「種類」(テキスト、バイナリ、実行ファイル等)を確認するコマンドは?

3 / 10

事前に作成されたデータベースを検索して、ファイル名を高速に見つけるコマンドは?

4 / 10

viエディタで、現在の行の後に新しい行を挿入して入力モードに入るキーは?

5 / 10

エイリアス(コマンドの別名)を定義するコマンドは?

6 / 10

特定のサービスのポート(例:80番)が待ち受け状態か確認するコマンドは?

7 / 10

ファイル名でシステム内を検索する際、データベースを利用せずにリアルタイムで検索するコマンドは?

8 / 10

指定したコマンドを5秒おきに繰り返し実行し、画面を更新するコマンドは?

9 / 10

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

10 / 10

システム起動時からのカーネルのメッセージ(ログ)を表示するコマンドは?

あなたのスコアは

平均スコアは 49%

0%

目次