'\" te .\" Copyright (c) 1992, X/Open Company Limited All Rights Reserved .\" Copyright 1989 AT&T .\" Portions Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. .\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at http://www.opengroup.org/bookstore/. .\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html. This notice shall appear on any product containing this material. .TH cp 1 "2010 年 11 月 19 日" "SunOS 5.11" "ユーザーコマンド" .SH 名前 cp \- ファイルのコピー .SH 形式 .LP .nf \fB/usr/bin/cp\fR [\fB-fip@/\fR] \fIsource_file\fR \fItarget_file\fR .fi .LP .nf \fB/usr/bin/cp\fR [\fB-fip@/\fR] \fIsource_file\fR... \fItarget\fR .fi .LP .nf \fB/usr/bin/cp\fR \fB-r\fR | \fB-R\fR [\fB-H\fR | \fB-L\fR | \fB-P\fR] [\fB-fip@/\fR] \fIsource_dir\fR... \fItarget\fR .fi .LP .nf \fB/usr/bin/cp\fR \fB-R\fR | \fB-R\fR [\fB-H\fR | \fB-L\fR | \fB-P\fR] [\fB-fip@/\fR] \fIsource_dir\fR... \fItarget\fR .fi .LP .nf \fB/usr/xpg4/bin/cp\fR [\fB-fip@/\fR] \fIsource_file\fR \fItarget_file\fR .fi .LP .nf \fB/usr/xpg4/bin/cp\fR [\fB-fip@/\fR] \fIsource_file\fR... \fItarget\fR .fi .LP .nf \fB/usr/xpg4/bin/cp\fR \fB-r\fR | \fB-R\fR [\fB-H\fR | \fB-L\fR | \fB-P\fR] [\fB-fip@/\fR] \fIsource_dir\fR... \fItarget\fR .fi .LP .nf \fB/usr/xpg4/bin/cp\fR \fB-R\fR | \fB-R\fR [\fB-H\fR | \fB-L\fR | \fB-P\fR] [\fB-fip@/\fR] \fIsource_dir\fR... \fItarget\fR .fi .SH 機能説明 .sp .LP 前述の「形式」の項で示す第 1 の形式では、\fIsource_file\fR および \fItarget_file\fR はディレクトリファイルではありません。また、両者は同じ名前ではありません。\fBcp\fR ユーティリティーは、\fIsource_file\fR が示すファイルの内容を、\fItarget_file\fR が示す宛先パスにコピーします。\fItarget_file\fR がすでに存在していると、\fBcp\fR はその内容を上書きしますが、ファイルのモード (さらに ACL が有効な場合は \fBACL\fR)、所有者、およびグループは変更しません。\fItarget_file\fR の最新更新時間および \fIsource_file\fR の最新アクセス時間の値は、コピーが行われた時間に設定されます。\fItarget_file\fR が存在しなければ、\fBcp\fR は \fItarget_file\fR という名のファイルを作成します。このファイルのモードは \fIsource_file\fR と同じになります。ただしコマンドを発行したユーザーがスーパーユーザーでない限り、スティッキビットは設定されません。この場合、\fItarget_file\fR の所有者とグループは (target_file を作成した) ユーザーのものと同じになります。ただし、新たに作成されたファイル (target_file) を含むディレクトリに setgid ビットがセットされている場合を除きます。このディレクトリに setgid ビットがセットされている場合、新たに作成されたファイル (target_file) のグループは、そのファイルを作成したユーザーのグループではなく、そのファイルを含むディレクトリのグループになります。\fItarget_file\fR が別のファイルへのリンクである場合、リンク先のファイルに対して \fIsource_file\fR の内容を上書きします。\fItarget_file\fR からのリンクはそのまま残ります。\fB\fR .sp .LP 第 2 の形式の \fIcp\fR は、\fIsource_file\fR が示す 1 つ以上のファイルを、target が示すディレクトリにコピーします。\fIsource_file\fR がディレクトリの場合 、\fItarget\fR が存在しない場合、および target がディレクトリでない場合は、いずれもエラーとなります。 .sp .LP 第 3 または第 4 の形式の \fIcp\fR は、\fIsource_dir\fR が示す 1 つ以上のディレクトリを、target が示すディレクトリにコピーします。\fB-r\fR または \fB-R\fR のどちらかを指定しなければなりません。個々の \fIsource_dir\fR に関して、\fBcp\fR はその中のすべてのファイルとサブディレクトリをコピーします。 .SH オプション .sp .LP \fB/usr/bin/cp\fR と \fB/usr/xpg4/bin/cp\fR では次のオプションがサポートされています。 .sp .ne 2 .mk .na \fB\fB-f\fR\fR .ad .RS 7n .rt リンク解除。宛先ファイルのファイル記述子が得られない場合、宛先ファイルのリンクを解除して処理を続けようとします。 .RE .sp .ne 2 .mk .na \fB\fB-H\fR \fR .ad .RS 7n .rt 処理は、\fIsource_file\fR オペランドとして指定したシンボリックリンクが参照するファイルの種類と内容に基づいて行われます。 .sp \fIsource_file\fR オペランドがシンボリックリンクである場合、\fIsource_file\fR オペランドのシンボリックリンクが参照するファイルがコピーされます。\fB\fRファイル階層の検索中に検出された他のすべてのシンボリックリンクは維持されます。 .RE .sp .ne 2 .mk .na \fB\fB-i\fR\fR .ad .RS 7n .rt 対話型。\fBcp\fR では、コピーが既存の target を上書きする際に、確認を求めます。これは、入力が端末から送られているかどうかに関係なく実行されます。確認のプロンプトでエラーが発生した場合は、ユーザーによる否定応答と同等です。肯定応答を返すと、コピー処理は続行されます。他の応答では、\fBcp\fR による \fItarget\fR の上書きは実行されません。 .RE .sp .ne 2 .mk .na \fB\fB-L\fR\fR .ad .RS 7n .rt 処理は、\fIsource_file\fR オペランドとして指定したシンボリックリンク、あるいは、ファイル階層の検索中に出会ったシンボリックリンクが参照するファイルの種類と内容に基づいて行われます。 .sp シンボリックリンクが参照するファイルをコピーします。ファイル階層の検索中に検出されたシンボリックリンクは維持されません。 .RE .sp .ne 2 .mk .na \fB\fB-p\fR\fR .ad .RS 7n .rt 保持。\fBcp\fR ユーティリティーは、\fIsource_file\fR の内容を複製するだけではなく、その ACL、アクセス日時と更新日時、拡張属性、拡張システム属性、ファイルモード、および所有者 ID とグループ ID を保持しようとします。 .sp \fBcp\fR がアクセス日時と更新日時、拡張属性、またはファイルモードを保持できない場合、\fBcp\fR はそれを失敗とは見なしません。\fBcp\fR が所有者 ID とグループ ID を保持できない場合、コピーは失敗しませんが、\fBcp\fR はメッセージを表示せずにターゲットのファイルモードから \fBS_ISUID\fR および \fBS_ISGID\fR ビットをクリアします。\fBcp\fR がこれらのビットをクリアできない場合、コピーは失敗します。\fBcp\fR が ACL または拡張システム属性を保持できない場合、コピーは失敗します。コピーが失敗すると、診断メッセージが \fBstderr\fR に書き込まれ、(残りのオペランドすべての処理後に) \fBcp\fR がゼロ以外の終了ステータスで終了します。\fB\fR .RE .sp .ne 2 .mk .na \fB\fB-P\fR\fR .ad .RS 7n .rt 処理は、\fIsource_file\fR オペランドとして指定したシンボリックリンク、あるいは、ファイル階層の検索中に出会ったシンボリックリンク自身に行われます。 .sp シンボリックリンクをコピーします。ファイル階層の検索中に検出されたシンボリックリンクが保存されます。 .RE .sp .ne 2 .mk .na \fB\fB-r\fR\fR .ad .RS 7n .rt 再帰。\fBcp\fR はそのディレクトリ全体、つまりディレクトリ内の全ファイルをコピーするだけでなく、ディレクトリにあるすべてのサブディレクトリとそのサブディレクトリ中の全ファイルも \fItarget\fR にコピーします。\fB-H\fR、\fB-L\fR、または \fB-P\fR のいずれのオプションも指定しない限り、\fB-L\fR オプションがデフォルトのモードとして使用されます。 .RE .sp .ne 2 .mk .na \fB\fB-R\fR\fR .ad .RS 7n .rt パイプが読まれるのではなく複写される、という点を除いて \fB-r\fR と同じです。 .RE .sp .ne 2 .mk .na \fB\fB-@\fR\fR .ad .RS 7n .rt 拡張属性を保持します。\fBcp\fR は、ファイルのデータとともに、すべてのソースファイルの拡張属性を宛先ファイルにコピーしようとします。 .RE .sp .ne 2 .mk .na \fB\fB-/\fR\fR .ad .RS 7n .rt 拡張属性と拡張システム属性を保持します。\fBcp\fR ユーティリティーは、ファイルのデータに加え、拡張属性と拡張システム属性を各ソースファイルからコピーし、拡張属性に関連付けられた拡張システム属性を宛先ファイルにコピーしようとします。\fBcp\fR が拡張属性または拡張システム属性をコピーできない場合、診断メッセージが \fBstderr \fR に書き込まれ、(残りのオペランドすべての処理後に) ゼロ以外の終了ステータスで終了します。\fB\fR .RE .sp .LP \fB-H\fR、\fB-L\fR、または \fB-P\fR は相互排他的なオプションですが、これらを複数指定しても、エラーであるとは判断されません。最後に指定したオプションが cp の動作を決定します。 .SS "/usr/bin/cp" .sp .LP \fB-p\fR オプションが \fB-@\fR オプションまたは \fB-/\fR オプションとともに指定されている場合、\fB/usr/bin/cp\fR の動作は次のようになります。 .RS +4 .TP .ie t \(bu .el o \fB-p\fR と \fB-@\fR の両方が任意の順序で指定されている場合、拡張属性をコピーできないとコピーは失敗します。 .RE .RS +4 .TP .ie t \(bu .el o \fB-p\fR と \fB-/\fR の両方が任意の順序で指定されている場合、拡張システム属性をコピーできないとコピーは失敗します。 .RE .SS "/usr/xpg4/bin/cp" .sp .LP \fB-p\fR オプションが \fB-@\fR オプションまたは \fB-/\fR オプションとともに指定されている場合、/\fBusr/xpg4/bin/cp\fR の動作は次のようになります。 .RS +4 .TP .ie t \(bu .el o \fB-p\fR と \fB-@\fR の両方が指定されている場合は、最後に指定されたオプションによって、拡張属性を保持できないとコピーが失敗するかどうかが決まります。 .RE .RS +4 .TP .ie t \(bu .el o \fB-p\fR と \fB-/\fR の両方が指定されている場合は、最後に指定されたオプションによって、拡張システム属性を保持できないとコピーが失敗するかどうかが決まります。 .RE .SH オペランド .sp .LP 次のオペランドがサポートされています。 .sp .ne 2 .mk .na \fB\fIsource_file\fR\fR .ad .RS 16n .rt コピーされる通常ファイルのパス名 .RE .sp .ne 2 .mk .na \fB\fIsource_dir\fR\fR .ad .RS 16n .rt コピーされるディレクトリのパス名 .RE .sp .ne 2 .mk .na \fB\fItarget_file\fR \fR .ad .RS 16n .rt 1 つのファイルをコピーする際に出力として用いられるファイルのパス名。既存のファイルでも存在していないファイルでもよい .RE .sp .ne 2 .mk .na \fB\fItarget\fR \fR .ad .RS 16n .rt コピーしたファイルを出力するディレクトリのパス名 .RE .SH 使用法 .sp .LP ファイルが 2 ギガバイト (2^31 バイト) 以上ある場合の \fBcp\fR の動作については、\fBlargefile\fR(5) を参照してください。 .SH 使用例 .LP \fB例 1 \fR1 つのファイルをコピーする .sp .LP 次の例は、1 つのファイルをコピーします。 .sp .in +2 .nf example% cp goodies goodies.old example% ls goodies* goodies goodies.old .fi .in -2 .sp .LP \fB例 2 \fR一群のファイルをコピーする .sp .LP 次の例は、一群のファイルを目的のディレクトリにコピーします。 .sp .in +2 .nf example% cp ~/src/* /tmp .fi .in -2 .sp .LP \fB例 3 \fRあるディレクトリをコピーする .sp .LP 次の例は、あるディレクトリを、最初は新しいディレクトリにコピーして、次に既存のディレクトリにコピーします。 .sp .in +2 .nf example% ls ~/bkup /usr/example/fred/bkup not found example% cp \fB-r\fR ~/src ~/bkup example% ls \fB-R\fR ~/bkup x.c y.c z.sh example% cp \fB-r\fR ~/src ~/bkup example% ls \fB-R\fR ~/bkup src x.c y.c z.sh src: x.c y.c z.s .fi .in -2 .sp .LP \fB例 4 \fR拡張ファイルシステム属性をコピーする .sp .LP 次の例では、拡張ファイルシステム属性をコピーします。 .sp .in +2 .nf $ ls -/ c file1 -rw-r--r-- 1 foo staff 0 Oct 29 20:04 file1 {AH-----m--} $ cp -/ file1 file2 $ ls -/c file2 -rw-r--r-- 1 foo staff 0 Oct 29 20:17 file2 {AH-----m--} .fi .in -2 .sp .LP \fB例 5 \fR拡張システム属性のコピーに失敗する .sp .LP 次に、拡張システム属性のコピーに失敗する例を示します。 .sp .in +2 .nf $ ls -/c file1 -rw-r--r-- 1 foo staff 0 Oct 29 20:04 file1 {AH-----m--} $ cp -/ file1 /tmp cp: Failed to copy extended system attributes from file1 to /tmp/file1 $ ls -/c /tmp/file1 -rw-r--r-- 1 foo staff 0 Oct 29 20:09 /tmp/file1 {} .fi .in -2 .sp .SH 環境 .sp .LP \fBcp\fR の実行に影響を与える次の環境変数についての詳細は、\fBenviron\fR(5) を参照してください。\fBLANG\fR、\fBLC_ALL\fR、\fBLC_COLLATE\fR、\fBLC_CTYPE\fR、\fBLC_MESSAGES\fR、および \fBNLSPATH\fR。 .sp .LP 肯定応答は、ユーザーのロケールの \fBLC_MESSAGES\fR カテゴリの \fByesexpr\fR キーワードで定義されている拡張正規表現を使用して処理されます。\fBLC_COLLATE\fR カテゴリに指定されているロケールは、\fByesexpr\fR に定義されている式に使用される範囲、同等クラス、および複数文字照合要素の動作を定義します。\fBLC_CTYPE\fR に指定されているロケールは、テキストデータのバイト列を文字として解釈するロケールや、\fByesexpr\fR に定義されている式に使用される文字クラスの動作を定義します。\fBlocale\fR(5) を参照してください。 .SH 終了ステータス .sp .LP 次の終了ステータスが返されます。 .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .RS 6n .rt すべてのファイルを正常にコピーしました。 .RE .sp .ne 2 .mk .na \fB>\fB0\fR\fR .ad .RS 6n .rt エラーが発生した。 .RE .SH 属性 .sp .LP 属性についての詳細は、マニュアルページの \fBattributes\fR(5) を参照してください。 .SS "/usr/bin/cp" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件system/core-os _ CSI有効 _ インタフェースの安定性確実 .TE .SS "/usr/xpg4/bin/cp" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件system/xopen/xcu4 _ CSI有効 _ インタフェースの安定性確実 .TE .SH 関連項目 .sp .LP \fBchmod\fR(1), \fBchown\fR(1), \fBsetfacl\fR(1), \fButime\fR(2), \fBfgetattr\fR(3C), \fBattributes\fR(5), \fBenviron\fR(5), \fBfsattr\fR(5), \fBlargefile\fR(5), \fBlocale\fR(5), \fBstandards\fR(5) .SH 注意事項 .sp .LP ソースファイルのアクセス権モードは、コピー時にそのまま保存されます。 .sp .LP \fB--\fR によって、ユーザーはコマンド行オプションの終端を明示的にマーク付けできるので、\fBcp\fR は \fB–\fR で始まるファイル名引数を認識できるようになります。