cp(1) FreeBSD 一般コマンドマニュアル

cp

前のページ 上に戻る 次のページ

cp


     cp [-R [-H | -L | -P]] [-f | -i] [-pv] source_file ... target_directory


解説

     1 番目の書式の場合、 cpsource_file の内容を target_file にコピーしま
     す。 2 番目の書式の場合、 source_file の各々が target_directory の中へコ
     ピーされます。このとき名前は変更されません。コピー先が元のファイル自身に
     なるような指定を cp が検出した場合、コピーは失敗します。

     以下のオプションが使用できます。

     -H    -R オプションが指定されている時、コマンド行で指定されたシンボリック
           リンクを追跡します。(木構造の検索中に見つかったシンボリックリンクは
           追跡しません)

     -L    -R オプションが指定されている時、すべてのシンボリックリンクを追跡し
           ます。

     -P    -R オプションが指定されている時、シンボリックリンクを一切追跡しませ
           ん。これがデフォルトです。

     -R    source_file としてディレクトリが指定された場合、 cp はそのディレク
           トリとそれ以下の部分木を構成するすべてのファイルをコピーします。シ
           ンボリックリンクについては、それが指している先のファイルをコピーす
           るのではなくシンボリックリンクのままコピーします。特殊ファイルにつ
           いても通常ファイルとしてではなく cp が特殊ファイルを生成することで
           コピーします。作成されるディレクトリの属性はプロセスの umask 値の影
           響を受けず、対応するコピー元ディレクトリと同じ属性となります。

           ハードリンクされたファイルについては、 cp が別々のファイルとしてコ
           ピーすることに注意してください。ハードリンクを保つためには、代りに
           tar(1), cpio(1), pax(1) を使ってください。

     -f    コピー先にすでに同名のファイルが存在する場合、そのファイルのパー
           ミッションに関わらず、確認を求めずにそれを消去して新しくファイルを
           作成します。( -f オプションより前の -i オプションは無視されます。)

     -i    すでに存在するファイルへの上書きを伴うコピーを実行する前に、上書き
           するかどうかの確認プロンプトを標準エラー出力へ出力するよう cp に指
           示します。標準入力からの返答が文字 `y' か `Y' で始まっていればコピ
           ーが実行されます。 ( -i オプションより前の -f オプションは無視され
           ます。)

     -p    ファイルの変更時刻・アクセス時刻・フラグ・モード・ユーザ ID・グルー
           プ ID などを、パーミッションが許す範囲内で可能な限り保存してコピー
           するよう cp に指示します。

           ユーザ ID やグループ ID が保存できない場合でも、エラーメッセージは
           出力されず戻り値も変化しません。

           コピー元ファイルに SETUID ビットが立っておりかつそのユーザ ID が保
           存できない場合、SETUID ビットは保存されません。コピー元ファイルに
           SETGID ビットが立っておりかつそのグループIDが保存できない場合、SET-

     コピー先ファイルが存在しない場合、コピー元ファイルのモードにファイルモー
     ド生成マスク (umask, csh(1) を参照) を適用したものがコピー先ファイルのモ
     ードとして使用されます。コピー元ファイルの SETUID ビットが立っていても、
     コピー元ファイルとコピー先ファイルの所有者が同一でない限り、それは落とさ
     れます。コピー元ファイルの SETGID ビットが立っていても、コピー元ファイル
     とコピー先ファイルが同一グループに属しかつコピーを行うユーザがそのグルー
     プに入っていない限りそれは落とされます。 SETUID ビットと SETGID ビットの
     両方が立っている場合、上記のすべての条件が満たされない限り、両方のビット
     が落とされます。

     ファイルの生成および上書きには、適切なパーミッションがなければなりませ
     ん。

     -R フラグが指定されるとシンボリックリンクは追跡されませんが、そうでない限
     りデフォルトでシンボリックリンクは常に追跡されます。 -H または -L フラグ
     ( -R フラグと併用) を用いると、シンボリックリンクの追跡を前述したように動
     作させることができます。 -H, -L, -P オプションは、 -R オプションが指定さ
     れていなければ無視されます。また、これらのオプションは互いに打ち消し合
     い、最後に指定されたものが有効になります。


診断

     ユーティリティ cp は、成功すると 0 で、エラーがあった場合は >0 で終了しま
     す。


互換性

     従来版の cp には -r オプションがありました。本実装でもこのオプションはサ
     ポートされていますが、特殊ファイル・シンボリックリンク・FIFO などを正しく
     コピーできないため、これを使用することは奨められません。

     -v は標準ではありませんし、スクリプト中での使用はお勧めしません。


関連項目

     mv(1), rcp(1), umask(2), fts(3), symlink(7)


規格

     cp コマンドは、 IEEE Std 1003.2 (``POSIX.2'') 互換を想定しています。


歴史

     cp コマンドは Version 1 AT&T UNIX から登場しました。

FreeBSD 4.4                     April 18, 1994                     FreeBSD 4.4

ABELNET VPSサービス