cpコマンドでファイルをコピーする方法

当ページのリンクには広告が含まれています。

## はじめに

`cp` コマンドはLinuxでファイルやディレクトリをコピーするための基本コマンドです。単純なファイルコピーから、パーミッションやタイムスタンプを保持したコピー、バックアップ作成まで、多彩なオプションを持っています。

サーバー管理ではファイルの移動・コピーは日常的な作業です。設定ファイルのバックアップ作成や、デプロイ時のファイル配置など、`cp` コマンドを正しく使えることはサーバー管理の基礎スキルです。

## 症状・背景

`cp` コマンドが必要になる主な場面:

– 設定ファイルを編集前にバックアップしたい(例:`nginx.conf.bak`)
– ディレクトリごとファイルをまるごとコピーしたい
– ファイルのパーミッションや所有者を保持したままコピーしたい
– 上書きの確認プロンプトを出してから安全にコピーしたい

[図解画像をここに表示]

## 手順・設定方法

### ステップ1: 基本的なファイルコピー

“`bash
# ファイルを別のファイル名でコピー
cp source.txt destination.txt

# ファイルを別のディレクトリにコピー
cp config.conf /etc/nginx/

# 複数ファイルをディレクトリにコピー
cp file1.txt file2.txt /tmp/
“`

### ステップ2: ディレクトリをコピーする(-r オプション)

“`bash
# ディレクトリを再帰的にコピー(-r または -R)
cp -r /etc/nginx/ /backup/nginx_backup/

# ディレクトリの中身だけをコピー(末尾のスラッシュで指定)
cp -r /etc/nginx/. /backup/nginx/

# ドットファイルも含めてコピー
cp -r /home/user/. /backup/user_home/
“`

### ステップ3: ファイル属性を保持してコピーする

“`bash
# タイムスタンプ・パーミッション・所有者を保持(-p: preserve)
cp -p nginx.conf nginx.conf.bak

# シンボリックリンクも含めすべての属性を保持(-a: archive)
# 本番のバックアップ作成に最適
cp -a /var/www/html/ /backup/html_backup/

# -p に加えてシンボリックリンクも保持(-dp)
cp -dp source_link dest_link
“`

### ステップ4: 安全なコピーと確認

“`bash
# 上書き前に確認プロンプトを表示(-i: interactive)
cp -i important.conf /etc/

# 既存のファイルより新しい場合のみコピー(-u: update)
cp -u newfile.txt /destination/

# コピーした内容を詳細表示(-v: verbose)
cp -v *.conf /etc/nginx/conf.d/

# バックアップを自動作成して上書き(~をサフィックスとして追加)
cp –backup=numbered config.conf /etc/config.conf
“`

## 注意事項

– `cp -r` でディレクトリをコピーする際、コピー先ディレクトリが存在しない場合は新規作成、存在する場合はその中にコピーされる(ディレクトリの存在確認を先にすること)
– `cp` は標準でシンボリックリンクを参照先の実体をコピーする。シンボリックリンクそのものをコピーする場合は `-d` または `-P` オプションを使用
– 大量ファイルのコピーでは `rsync` の使用を検討する(差分コピー・進捗表示が可能)
– 本番環境での上書きは必ずバックアップを取ってから実施すること

## まとめ

1. **基本コピー**: `cp source dest` でファイルをコピー
2. **ディレクトリコピー**: `cp -r srcdir/ destdir/` で再帰的にコピー
3. **属性保持**: `cp -a` でタイムスタンプ・パーミッション・所有者をすべて保持
4. **安全確認**: `cp -i` で上書き前に確認プロンプトを表示
5. **設定バックアップ**: `cp -p file.conf file.conf.bak` で属性を保持してバックアップ

関連記事:
– [mvコマンドでファイルを移動・リネームする方法](../0703-linux-mv-command/)
– [rsyncでディレクトリを同期する方法](../0754-linux-rsync-sync/)
– [Linuxでファイルを一覧表示するlsコマンドの使い方](../0701-linux-ls-command/)

▼ 実践ガイド

【2026年】ネット証券口座の選び方とおすすめ比較 →

用語の意味がわかったら、実際の口座選びのポイントもチェックしてみてください。

※本記事に掲載している情報は、中立的な立場からの情報提供を目的としたものです。掲載している商品・サービスの購入や利用を推奨・強制するものではありません。投資には価格変動リスクが伴い、元本割れが生じる可能性があります。過去の運用実績やシュミレーション結果は、将来の運用成果を保証するものではありません。また、情報の正確性・最新性には十分配慮しておりますが、 内容の完全性や将来の結果を保証するものではありません。最終的な投資判断は、読者ご自身の判断と責任において行っていただくようお願いいたします。本記事の情報を利用したことによって生じたいかなる損害についても、当サイトでは一切の責任を負いかねますので、あらかじめご了承ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

マネジ局長は、「お金の大辞典」全体を統括する監修者です。

編集者であるマネ辞くんが収集・整理した金融・投資・税制データについて、制度の前提条件やリスク、誤解が生じやすい点がないかをチェックし、「この情報をどう受け取るべきか」という判断軸を補足します。

特定の商品やサービスをすすめる役割ではなく、読者が冷静に考えるためのブレーキ役として設計されています。

お金の判断は急がず、理解してから選ぶ。
それがマネ辞局長の基本スタンスです。

目次