CP(1) FreeBSD 一般コマンドマニュアル CP(1)
名称
cp − ファイルをコピーする |
書式
cp [ |
−R [−H | −L | −P]] [−f | −i | −n] [−pv] source_file target_file
cp [ 解説 |
1 番目の書式の場合、 cp は source_file の内容を target_file にコピーしま す。 2 番目の書式の場合、 source_file の各々が target_directory の中へコ ピーされます。このとき名前は変更されません。コピー先が元のファイル自身に なるような指定を cp が検出した場合、コピーは失敗します。 以下のオプションが使用できます。 |
−H
−R オプションが指定されている時、コマンド行で指定されたシンボリック リンクを追跡します。(木構造の検索中に見つかったシンボリックリンクは 追跡しません) −L −P −R ハードリンクされたファイルについては、 cp が別々のファイルとしてコ ピーすることに注意してください。ハードリンクを保つためには、代りに tar(1), cpio(1), pax(1) を使ってください。 −f −i −n −p ユーザ ID やグループ ID が保存できない場合でも、エラーメッセージは 出力されず戻り値も変化しません。 コピー元ファイルに SETUID ビットが立っておりかつそのユーザ ID が保 存できない場合、SETUID ビットは保存されません。コピー元ファイルに SETGID ビットが立っておりかつそのグループIDが保存できない場 合、SETGID ビットは保存されません。コピー元のファイルに SETUID ビッ トと SETGID ビットが共に立っておりかつそのユーザ ID かグループ ID のいずれか一方でも保存できない場合、 −p オプションが指定されていな い限り、 SETUID ビットと SETGID ビットの両方が保存されません。 −v すでに存在するコピー先ファイルについては、パーミッションが許せば内容は上 書きされますが、モード・ユーザ ID・グループ ID は変化しません。 2 番目の書式では、 source_file としてディレクトリが一つだけ指定されかつ −R オプションが指定されている場合を除き、 target_directory は存在していな ければなりません。 コピー先ファイルが存在しない場合、コピー元ファイルのモードにファイルモー ド生成マスク (umask, csh(1) を参照) を適用したものがコピー先ファイルの モードとして使用されます。コピー元ファイルの SETUID ビットが立っていて も、コピー元ファイルとコピー先ファイルの所有者が同一でない限り、それは落 とされます。コピー元ファイルの SETGID ビットが立っていても、コピー元ファ イルとコピー先ファイルが同一グループに属しかつコピーを行うユーザがそのグ ループに入っていない限りそれは落とされます。 SETUID ビットと SETGID ビッ トの両方が立っている場合、上記のすべての条件が満たされない限り、両方の ビットが落とされます。 ファイルの生成および上書きには、適切なパーミッションがなければなりませ ん。 −R フラグが指定されるとシンボリックリンクは追跡されませんが、そうでない限 りデフォルトでシンボリックリンクは常に追跡されます。 −H または −L フラグ ( −R フラグと併用) を用いると、シンボリックリンクの追跡を前述したように動 作させることができます。 −H, −L, −P オプションは、 −R オプションが指定さ れていなければ無視されます。また、これらのオプションは互いに打ち消し合 い、最後に指定されたものが有効になります。 cp が SIGINFO シグナルを受信した場合 (stty(1) の status 引数を参照)、現在 の入力および出力のファイルと完了したパーセンテージが、標準エラー出力へ書 かれます。 診断 |
ユーティリティ cp は、成功すると 0 で、エラーがあった場合は >0 で終了しま す。 |
互換性
従来版の cp には −r オプションがありました。本実装でもこのオプションはサ ポートされていますが、特殊ファイル・シンボリックリンク・FIFO などを正しく コピーできないため、これを使用することは奨められません。 −v および −n は標準ではありませんし、スクリプト中での使用はお勧めしませ ん。 |
関連項目
規格
cp コマンドは、 IEEE Std 1003.2 (‘‘POSIX.2’’) 互換を想定しています。 |
歴史
cp コマンドは Version 1 AT&T UNIX から登場しました。 FreeBSD 10.0 February 23, 2005 FreeBSD 10.0 |