CP(1)

名前
cp - ファイルやディレクトリのコピーを行う

書式
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...

説明

SOURCE から DEST へのコピー、または複数の SOURCE の DIRECTORY へのコピーを行います。

長いオプションで必須となっている引数は短いオプションでも必須です。

-a, --archive
 -dR --preserve=all と同じです。

--attributes-only
    ファイルのデータをコピーせず、ファイルの属性のみコピーします。

--backup[=CONTROL]
    コピー先ファイルが存在する時にバックアップを作成します。

-b
     --backup と同じですが引数を受けとりません。

--copy-contents
    再帰時に特殊ファイルの内容をコピーします。

-d
     --no-dereference --preserve=links と同じです。

--debug
    どのファイルがコピーされているかを表示します。-v を仮定します。

-f, --force
    コピー先にファイルが存在し、開けない場合、削除してから再度試みます。 (-n オプションも指定した場合はこのオプションは無視されます)

-i, --interactive
    上書きする前に確認します。 (前に指定した -n オプションを上書きします)

-H  SOURCE にあるコマンド行のシンボリックリンクをたどります。

-l, --link
    コピーの代わりにファイルのハードリンクを作成します。

-L, --dereference
    SOURCE にあるシンボリックリンクを常にたどります。

-n, --no-clobber
    (非推奨)単に存在するファイルをスキップします。 --update を参照してください。

-P, --no-dereference
    SOURCE にあるシンボリックリンクを決してたどりません。

-p  --preserve=mode,ownership,timestamps と同じです。

--preserve[=ATTR_LIST]
    指定した属性を保持します。

--no-preserve=ATTR_LIST
    指定した属性を保持しません。

--parents
    DIRECTORY 配下で SOURCE ファイルのフルパス名を使用します。

-R, -r, --recursive
    再帰的にディレクトリをコピーします。

--reflink[=WHEN]
    clone/CoW コピーを制御します。下記を参照。

--remove-destination
    コピー先にファイルが存在する場合、開く前に削除します。 (--force と反対の動作になります)

--sparse=WHEN
    スパースファイル作成を制御します。下記を参照。

--strip-trailing-slashes
    各 SOURCE 引数から末尾のスラッシュを全て削除します。

-s, --symbolic-link
    コピーの代わりにシンボリックリンクを作成します。

-S, --suffix=SUFFIX
    通常のバックアップ接尾辞を上書きします。

-t, --target-directory=DIRECTORY
    全ての SOURCE 引数を DIRECTORY にコピーします。

-T, --no-target-directory
    DEST を通常ファイルとして扱います。

--update[=UPDATE]
    既存のファイルをアップデートするかを制御します。 UPDATE={all,none,none-fail,older(デフォルト)}

-u, --update
    --update[=older] と同じです。下記を参照。

-v, --verbose
    何を実行しているかを表示します。

--keep-directory-symlink
    存在するシンボリックリンクをディレクトリまでたどります。

-x, --one-file-system
    このファイルシステムだけで実行します。

-Z  コピー先ファイルの SELinux セキュリティコンテキストを デフォルトタイプに設定します。

--context[=CTX]
    -Z と同じですが、 CTX が指定された場合は、 SELinux や SMACK のセキュリティコンテキストを CTX に設定します。

--help
    使い方を表示して終了します。

--version
    バージョン情報を表示して終了します。

ATTR_LISTは、属性をコンマで区切ったリストです。属性は、アクセス権 (ACL および xattr アクセス権を含む)の 'mode'、ユーザーおよび グループの'ownership'、ファイルのタイムスタンプの 'timestamps'、 ハードリンクの 'links'、セキュリティコンテキストの 'context'、 拡張属性の 'xattr'、およびすべての属性の 'all' です。

デフォルトでは、SOURCE スパースファイルは発見的手法で検出され、対応する DEST ファイルはスパースファイルとして作成されます。これは --sparse=auto が選択されたときの動作です。 --sparse=always を指定した場合、SOURCE ファイルに、十分な長さの値が 0 のバイトが含まれている場合には DEST がスパースファイルとして作成されます。 スパースファイルの作成を禁止する場合は --sparse=never を使用してください。

UPDATEは、置換先の既存のファイルを制御します。 --update オプションが指定されていない場合、'all' がデフォルトの操作となり、 置換先の既存のファイルがすべて置換されます。 'none' は --no-clobber オプションと同様、置換先のファイルを置換せず、 ファイルをスキップしても失敗しません。 'none-fail' はまた、コピー先でファイルが置換されないようにしますが、 スキップされたファイルは診断され、失敗が発生します。 --update が指定されている場合、'older' が既定の操作となり、 ファイルが対応するソースファイルより古い場合は置換されます。

デフォルトか、--reflink=auto が指定された場合、 cp はデータブロックが変更された場合にのみコピーされ軽量コピーの実行を試みますが、 それが不可能な場合、通常のコピーに切り換えます。 --reflink[=always] が指定された場合では、 CoW がサポートされていない場合に cp が失敗しますが、 --reflink=never が指定された場合、通常のコピーが必ず実行されます。

--suffix も環境変数 SIMPLE_BACKUP_SUFFIX も設定されていない場合、 バックアップ接尾辞は '~' になります。 バージョン管理方法は --backup オプションや VERSION_CONTROL 環境変数で 選択できます。以下の値を指定できます:

none, off
    バックアップを作成しません。 (--backup を付けた時でも)

numbered, t
    番号付きバックアップを作成します。

existing, nil
    番号付きバックアップがあれば番号付き、 そうでなければ、simple で作成します。

simple, never
    常に簡易バックアップを作成します。

特別な場合として、cp は force と backup オプションが与えられ、SOURCE と DEST が 同一ファイルである時は、SOURCE のバックアップを作成します。

作者
作者 Torbjorn Granlund、 David MacKenzie、および Jim Meyering。

バグのレポートについて
バグのレポートは bug-coreutils@gnu.org までお寄せ下さい。
GNU coreutils のホームページ: <https://www.gnu.org/software/coreutils/>
一般的な GNU ソフトウェア使用に関するヘルプは <https://www.gnu.org/gethelp/> です。
翻訳に関するバグは <https://translationproject.org/team/ja.html> に連絡してください。

著作権
Copyright © 2025 Free Software Foundation, Inc. ライセンス GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

関連項目

完全なマニュアルは <https://www.gnu.org/software/coreutils/cp> か、
ローカルで有効になっていれば info '(coreutils) cp invocation' です。

日本語訳
対応バージョン:9.8 翻訳日:2025-11-10 翻訳者:ribbon