Scroll to navigation

CP(1) FSF CP(1)

名前

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

書式

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

説明

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

-dpRと同じ。
上書きされたり、削除されることになるファイルのバックアップを作る。
リンクを保存する。 (訳注: シンボリックリンクをコピーするときは、 シンボリックリンクが指しているファイルをコピーするのではなく、 シンボリック自体をコピーする。 また、ハードリンクされたもの同士をコピーする場合は、 それら同士はコピー先でもハードリンクされたままになる。)
コピー先が存在する場合、確認を求めずに削除する。
上書きする前に確認を求める。
コピーのかわりにハードリンクを作る。
可能ならファイル属性を保持する。
コピー元のパスをDIRECTORY(ディレクトリ)下に追加する。 (訳注: 例えば、 `cp --parents a/b/c existing_dir' というコマンドは a/b/c というファイルを existing_dir/a/b/c というファイルに(間のディレクトリもなければ作って)コピーする。)
再帰的にコピーする。 その際、ディレクトリ以外は全てファイルとしてコピーされる。
スパースなファイルの生成をコントロールする。
ディレクトリを再帰的にコピーする。
コピーのかわりにシンボリックリンクを作る。
バックアップファイルを作る際の添字を指定する。
コピー先ファイルよりもSOURCEファイルの方が新しい場合か、 または、コピー先ファイルが見付からない場合のみコピーする。
実行内容を表示する。
バックアップファイルの命名方法を指定する。
同一ファイルシステム内に留める。 (訳注: コピーする際、違うファイルシステムのサブディレクトリはコピーしない。)
使用方法を表示して正常終了する。
バージョン情報を出力して正常終了する。

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

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

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

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

バグレポート

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

関連項目

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

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 ------------------------

November 1998 GNU fileutils 4.0