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

ファイルのタイムスタンプを現在の時刻に更新するコマンドは?

2 / 10

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

3 / 10

ディレクトリ内のファイルを、ファイルサイズが大きい順に表示するlsのオプションは?

4 / 10

ファイルのiノード番号を表示するためのlsコマンドのオプションは?

5 / 10

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

6 / 10

ファイル「file1」に対するシンボリックリンク「link1」を作成するコマンドは?

7 / 10

コマンドをバックグラウンドで実行させるために末尾に付ける記号は?

8 / 10

テキストファイルの内容を、行番号付きで表示するコマンドは?

9 / 10

プロセスID(PID)ではなく、「プロセス名」を指定して終了させるコマンドは?

10 / 10

ログインユーザーが現在使用しているシェルのプロセスIDを確認する変数は?

あなたのスコアは

平均スコアは 73%

0%

目次