CP(1)

名前
cp - ファイルやディレクトリをコピーする

書式
cp [オプション]... SOURCE DEST
cp [オプション]... SOURCE... DIRECTORY

説明

SOURCEファイルをDESTファイルへコピーする。 または、複数のSOURCEファイルをDIRECTORY(ディレクトリ)下へコピーする。

-a, --archive
    -dpRと同じ。

-b, --backup
    上書きされたり、削除されることになるファイルのバックアップを作る。

-d, --no-dereference
    リンクを保存する。 (訳注: シンボリックリンクをコピーするときは、 シンボリックリンクが指しているファイルをコピーするのではなく、 シンボリック自体をコピーする。 また、ハードリンクされたもの同士をコピーする場合は、 それら同士はコピー先でもハードリンクされたままになる。)

-f, --force
    コピー先が存在する場合、確認を求めずに削除する。

-i, --interactive
    上書きする前に確認を求める。

-l, --link
    コピーのかわりにハードリンクを作る。

-p, --preserve
    可能ならファイル属性を保持する。

-P, --parents
    コピー元のパスをDIRECTORY(ディレクトリ)下に追加する。 (訳注: 例えば、 `cp --parents a/b/c existing_dir' というコマンドは a/b/c というファイルを existing_dir/a/b/c というファイルに(間のディレクトリもなければ作って)コピーする。)

-r  再帰的にコピーする。 その際、ディレクトリ以外は全てファイルとしてコピーされる。

--sparse=WHEN
    スパースなファイルの生成をコントロールする。

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

-s, --symbolic-link
    コピーのかわりにシンボリックリンクを作る。

-S, --suffix=SUFFIX
    バックアップファイルを作る際の添字を指定する。

-u, --update
    コピー先ファイルよりもSOURCEファイルの方が新しい場合か、 または、コピー先ファイルが見付からない場合のみコピーする。

-v, --verbose
    実行内容を表示する。

-V, --version-control=WORD
    バックアップファイルの命名方法を指定する。

-x, --one-file-system
    同一ファイルシステム内に留める。 (訳注: コピーする際、違うファイルシステムのサブディレクトリはコピーしない。)

--help
    使用方法を表示して正常終了する。

--version
    バージョン情報を出力して正常終了する。

デフォルトでは、大雑把な発見的手法でスパースなSOURCEファイルを検出し、 対応するDESTファイルを同様にスパースにする。 --sparse=autoを指定するとデフォルトの動作となる。 --sparse=alwaysを指定すると、 SOURCEファイルが十分長いゼロバイト列を含む場合はいつでも、 スパースなDESTファイルを生成する。 --sparse=neverを指定すると、スパースなファイルの生成を禁止する。

環境変数SIMPLE_BACKUP_SUFFIXが設定されていない場合、 バックアップファイルを作る際の添字は ~ である。 バックアップファイルの命名方法は、環境変数VERSION_CONTROLで指定する。 指定する値は以下の通り。

t, numbered
    番号の拡張子を持つバックアップを作成する。

nil, existing
    番号の拡張子を持つバックアップがすでにある場合には、 番号の拡張子を持つバックアップを、 そうでない場合には単純なバックアップを作成する。

never, simple
    常に単純なバックアップを作成する。

特殊ケースとして、forceオプションとbackupオプションが同時に指定され、かつ、 SOURCEとDESTが同じ名前の存在する通常のファイルである場合、 SOURCEのバックアップを作成する。

バグレポート
バグレポートは<bug-fileutils@gnu.org>へ。

関連項目
cp の完全なドキュメントはinfoマニュアルとしてメンテナンスされている。 info と cp が正しくインストールされていれば、次のコマンド

    info cp

で完全なマニュアルを参照することができる。

訳注
以下にディレクトリのコピー例を添付する。
<<testdir に各種の file を作り、cp を各種 option 付きで実行した結果>>
(左から、パーミッション、ハードリンクの数、ファイル名)
---------------- begin ----------------------
testdir:
   drwxr-xr-x 2 directory/
   -rw-r--r-- 2 file
   -rw-r--r-- 2 hardlinkfile
   prw-r--r-- 2 hardlinkpipe|
   prw-r--r-- 2 pipe|
   lrwxrwxrwx 2 symlinkfile -> file
   lrwxrwxrwx 1 symlinkpipe -> pipe| testdir-R:
   drwxr-xr-x 2 directory/
   -rw-r--r-- 1 file
   -rw-r--r-- 1 hardlinkfile
   prw-r--r-- 1 hardlinkpipe|
   prw-r--r-- 1 pipe|
   -rw-r--r-- 1 symlinkfile
   prw-r--r-- 1 symlinkpipe| testdir-a:
   drwxr-xr-x 2 directory/
   -rw-r--r-- 2 file
   -rw-r--r-- 2 hardlinkfile
   prw-r--r-- 2 hardlinkpipe|
   prw-r--r-- 2 pipe|
   lrwxrwxrwx 1 symlinkfile -> file
   lrwxrwxrwx 1 symlinkpipe -> pipe| testdir-dR:
   drwxr-xr-x 2 directory/
   -rw-r--r-- 2 file
   -rw-r--r-- 2 hardlinkfile
   prw-r--r-- 2 hardlinkpipe|
   prw-r--r-- 2 pipe|
   lrwxrwxrwx 1 symlinkfile -> file
   lrwxrwxrwx 1 symlinkpipe -> pipe| testdir-dr:
   drwxr-xr-x 2 directory/
   -rw-r--r-- 2 file
   -rw-r--r-- 2 hardlinkfile
   -rw-r--r-- 2 hardlinkpipe
   -rw-r--r-- 2 pipe
   lrwxrwxrwx 1 symlinkfile -> file
   lrwxrwxrwx 1 symlinkpipe -> pipe testdir-r:
   drwxr-xr-x 2 directory/
   -rw-r--r-- 1 file
   -rw-r--r-- 1 hardlinkfile
   -rw-r--r-- 1 hardlinkpipe
   -rw-r--r-- 1 pipe
   -rw-r--r-- 1 symlinkfile
   -rw-r--r-- 1 symlinkpipe
----------------- end ------------------------