Provided by: manpages-ja_0.5.0.0.20110915-1_all bug

POSIX オプション
       POSIX では、以下のオプションを認識する。

       -f     必要であれば、既存のコピー先のファイルを削除する (上記参照)。

       -H     コマンドラインで指定された全てのシンボリックリンクを辿る。

       -i     コピー先に既に存在するファイルを上書きするかを問い合わせてくる。
              (問い合わせは標準エラーに書かれ、返答は標準入力から読まれる。 上
              書きを肯定する返答があった場合のみコピーされる。)

       -L     シンボリックリンクを辿り、  それが指しているファイルをコピーまた
              は上書きする。

       -p     オリジナルファイルの所有者・グループ・アクセス権・アクセス時刻を
              保存する (以下の --preserve を参照)。

       -R     ディレクトリを再帰的にコピーし、  一般のファイルでもなくディレク
              トリでもないものに対しては それに相応したコピーをする。  (たとえ
              ば  FIFO  とスペシャルファイルのコピーは、  それぞれ FIFO とスペ
              シャルファイルにされる。)

       -r     ディレクトリを再帰的にコピーするが、  一般のファイルでもなくディ
              レクトリでもないものに  対してどうするかは規定されていない。 (し
              たがって -r オプションを -R オプションの  単なる別名にすることも
              可能である  (実は推奨されている)。 しかし、現在の GNU 版の cp の
              ような単純な動作 (下記参照) も禁止されていない。)

GNU 詳細
       通常、ファイルは読まれた通りに書き出される。 --sparse  オプションの場合
       は例外であるので下記を参照すること。

       デフォルトでは、`cp'  はディレクトリのコピーを行わない  (以下の -r オプ
       ションを見よ)。

       cp はファイルのそれ自身へのコピーを通常は拒否するが、  次のような例外が
       ある:  --force --backup が指定されていて、  が同一
       で、通常のファイルを参照している場合には、 cp  はバックアップファイルを
       作る。  バックアップファイル名には通常または番号付きの拡張子が、 通常の
       場合と同じように付く。  これは、既に存在するファイルを変更前に   単純に
       バックアップしたい場合に有用である。

GNU オプション
       -a, --archive
              コピー先で、できる限り元のファイルの構成と属性を保持する (ディレ
              クトリ構造体は保存しない)。 -dpR と同じ。

       -d, --no-dereference
              シンボリックリンクをコピーする場合、シンボリックリンクが指してい
              る    ファイルをコピーするのではなく、シンボリックリンクとしてコ
              ピーする。  また、コピー元でのハードリンクはコピー先でもハードリ
              ンクとして保持される。

       -f, --force
              コピー先のファイルを書き込みまたはアンリンクするため、  ファイル
              をオープンしようとする。  失敗した場合、途中で中止することなくデ
              フォルトの動作を行う。 --remove-destination を参照。

       -i, --interactive
              コピー先に上書きされる通常のファイルが存在する場合、  上書きの可
              否を問い合わせてくる。

       -l, --link
              コピーする代わりにハードリンクを作る     (ただし、ディレクトリ以
              外)。

       -L, --dereference
              シンボリックリンクを辿り、  それが指しているファイルをコピーまた
              は上書きする。

       -p, --preserve
              オリジナルファイルの所有者・グループ・    アクセス権    (setuid,
              setgid   ビットを含む)・  最終修正時刻・最終アクセス時刻を保存す
              る。 所有者やグループの複製に失敗した場合には、 setuid  ビットと
              setgid  ビットはクリアされる。 (この場合コピー元とコピー先の最終
              アクセス時刻が異なってしまうことに注意。    コピー操作はコピー元
              ファイルへのアクセスであるから。)

       -P, --parents
              コピー先のファイル名の作り方を    「コピー先ディレクトリにスラッ
              シュ (/) とコピー元ファイルの名前を加える」 とする。 cp の最後の
              引き数は既に存在するディレクトリでなければならない。 たとえば、

              cp --parents a/b/c existing_dir

              というコマンドは `a/b/c'というファイルを `existing_dir/a/b/c' に
              (途中のディレクトリがない場合は それも作って) コピーする。

       -r     ディレクトリを再帰的にコピーする。(FIFO   やスペシャルファイルと
              いった)  ディレクトリでもなくシンボリックリンクでもないものを 通
              常のファイルとしてコピーする。 この場合 cp  はコピー元ファイルか
              らデータが読み込み、  コピー先に書き出そうとする。よくある間違い
              は、 `cp -r' をスペシャルファイル、 FIFO、`/dev'  ディレクトリ以
              下にあるものに対して使うことである。  多くの場合、cp  は FIFO や
              `/dev/console' といった スペシャルファイルから読み込もうとして永
              久にハングしたり、  `/dev/zero' をコピーしようとしてコピー先ディ
              スクを溢れさせたり、  不明なディバイスを開いてハードウェアによく
              わからない効果を 及ぼしてしまったりする。 スペシャルファイルの内
              容をコピーするのでなく、  スペシャルファイルをその特性を保持した
              ままコピーしたい場合は、  --recursive または -R オプションを使う
              こと。

       --remove-destination
              ファイルを書き込みオープンするのではなく、アンリンクする。
              --force を参照。

       -R, --recursive
              ディレクトリでないものを保存しつつ、    ディレクトリを再帰的にコ
              ピーする (すぐ上の -r オプションを見よ)。

       --sparse=WHEN
              「スパースなファイル」とは「ホール( 穴 )」 (物理ディスクブロック
              を占有しないゼロバイトの連続)  を含むものである。  read システム
              コールはそれらのファイルをゼロとして読み込む。    多くのバイナリ
              ファイルにはゼロバイトの並びがたくさん含まれているので、  このオ
              プションにより、かなりのディスク容量を節約し、  スピードを上げる
              ことができる。 デフォルトでは `cp' は大雑把な発見的手法で 入力さ
              れたコピー元ファイルからホールを検知し、  対応する出力ファイルも
              スパースにする。

              WHEN の値は下のいずれかである:

              auto   デフォルトの動作:入力ファイルがスパースのとき、 出力ファ
                     イルもスパースにする。

              always 常に出力ファイルをスパースにする。このオプションは入力
                     ファイルが スパースなファイルをサポートしないファイルシス
                     テム上にあるが、 出力ファイルはスパースなファイルをサポー
                     トするファイルシステム上に 置かれる場合に有用である。

              never  出力ファイルをスパースにしない。 このオプションの有意義な
                     利用法を見付けたら筆者に教えてほしい。

       --strip-trailing-slashes
              指定された全ての引き数について、  後ろに付いているスラッシュを取
              り除く。 これは `mkdir a; ln -s a la; mv la/ b' のような場合に役
              立つ。 この場合 POSIX の命令では、 mv はシンボリックリンク  `la'
              ではなく ディレクトリ `a' を実際に移動してしまう。

       -s, --symbolic-link
              ディレクトリ以外のファイルに対して、コピーするかわりに    シンボ
              リックリンクを作る。シンボリックリンクファイルを  カレントディレ
              クトリに作る場合を除き、  コピー元ファイル名は ('/' で始まる) 絶
              対パスでなければならない。  シンボリックリンクをサポートしていな
              いシステムでは、  このオプションは単にエラーメッセージを出力する
              だけである。

       --target-directory=DIR
              コピー先ディレクトリを、コマンドラインの最後の引き数ではなく、
              オプションで指定する。 xargs(1) と一緒に用いると便利。

       -u, --update
              ディレクトリ以外のファイルのコピーで、  コピー先ファイルが既に存
              在し、 修正時刻がコピー元と同じかより新しい場合、 コピーを行わな
              い。

       -v, --verbose
              コピーする前にそれぞれのファイル名を出力する。  また名前を変更す
              る際のバックアップファイル名も表示する。

       -x, --one-file-system
              コピーを始めたディレクトリと  異なるファイルシステム上にあるサブ
              ディレクトリをコピーをしない。  マウントポイントは同じファイルシ
              ステム上にあるのでコピーされる。

GNU バックアップオプション
       GNU 版のプログラム cp, mv, ln, install, patch  は、上書き、修正、削除と
       いった場合に、指示すればファイルの  バックアップを作成する。 バックアッ
       プファイルを必要とする場合は -b オプションで指定する。 どのような名前に
       するかは   --backup  オプションで指定する。  バックアップファイルの名前
       を、ファイル名に拡張子を追加する形で 与えるようにしたい場合、  この拡張
       子を -S オプションで指示する。

       -b, --backup[=METHOD]
              上書きもしくは削除の必要がある場合には、  ファイルのバックアップ
              を作成する。 -b は引き数を取らない点に注意すること。

       -S SUFFIX, --suffix=SUFFIX
              SUFFIX をバックアップファイルそれぞれに付け加える。 このオプショ
              ンが指定されていない場合、環境変数 SIMPLE_BACKUP_SUFFIX に設定さ
              れている値が使われる。 SIMPLE_BACKUP_SUFFIX が設定されていない場
              合の標準値は `~' である。

       -V METHOD, --version-control=METHOD
              バックアップファイルの命名方法を指定する。   引き数   METHOD  に
              は、`numbered' (または `t')、`existing' (または `nil')、 `never'
              (または  `simple') を指定できる。 このオプションが指定されていな
              い場合、環境変数        VERSION_CONTROL         の値が使われる。
              VERSION_CONTROL が設定されていない場合の標準値は `existing' であ
              る。

              このオプションは Emacs 変数の `version-control' に対応している。
              有効な METHOD は (他と重複しない短縮形が使える):

              t, numbered
                     常に番号の拡張子を持つバックアップが作られる。

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

              never, simple
                     常に単純なバックアップが作られる。

              このオプションは推奨されない。  代りに  --backup=METHOD を使うこ
              と。

GNU 標準オプション
       --help 標準出力に使用方法のメッセージを出力して正常終了する。

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

       --     オプションリストの終りを示す。

環境変数
       変数 LANG, LC_ALL, LC_CTYPE, LC_MESSAGES が通常の意味を持つ。 GNU  版で
       は、変数  SIMPLE_BACKUP_SUFFIX と VERSION_CONTROL が バックアップファイ
       ルの命名法を上で説明した方法で管理する。

準拠
       POSIX 1003.2

注意
       このページは fileutils-4.1 パッケージの cp コマンドについて説明したもの
       である; その他のバージョンでは少し違いがあるかもしれない。 修正や追加は
       aeb@cwi.nl, aw@mail1.bet1.puv.fi, ragnar@ragnar-hojland.com  宛にメール
       で連絡してください。  プログラムのバグについては  bug-fileutils@gnu.org
       へ報告してください。