cp(Unix)


Cp_(Unix)

コンピューティングでcpは、ファイルやディレクトリをコピーするためのさまざまなUnixおよびUnixライクなオペレーティングシステムのコマンドです。このコマンドには、ファイルを別のファイルにコピーするため、1つ以上のファイルをディレクトリにコピーするため、またはディレクトリ全体を別のディレクトリにコピーするためにプログラムに提示される引数のタイプによって表される、3つの主要な操作モードが cp 原作者
AT&Tベル研究所
開発者
さまざまなオープンソースおよび商用の開発者
初回リリース
1971年11月3日; 50年前 (1971-11-03)
オペレーティング・システム
Unix、Unixライク、Plan 9、Inferno、KolibriOS
プラットホーム
クロスプラットフォーム
タイプ
指示
ライセンス coreutils:GPLv3 ユーティリティはさらに、実行された操作の詳細を示すさまざまなコマンドラインオプションフラグを受け入れます。2つの主要な仕様は、POSIXcp とGNUcpです 。GNU cpには、POSIXバージョンに比べて多くの追加オプションが
このコマンドは、EFIシェルでも使用できます。

コンテンツ
1 歴史
2 動作モード
3 使用法
4 オプションフラグ
5 例
6 関連するUnixコマンド
7 も参照してください
8 参考文献
9 外部リンク

歴史
cpはバージョン1のUnixの一部でした。 GNU coreutilscpにバンドルされているバージョンは、Torbjorn Granlund、David MacKenzie、およびJimMeyeringによって作成されました。

動作モード
cpには3つの主要な動作モードがこれらのモードは、呼び出し時にプログラムに提示される引数のタイプと数から推測されます。
プログラムにファイルへのパス名の引数が2つある場合、プログラムは最初のファイルの内容を2番目のファイルにコピーし、必要に応じて2番目のファイルを作成します。
プログラムにファイルのパス名の引数が1つ以上あり、それらに続いてディレクトリへのパスの引数がある場合、プログラムは各ソースファイルを宛先ディレクトリにコピーし、まだ存在していないファイルを作成します。
プログラムの引数が2つのディレクトリへのパス名である場合、cpはソースディレクトリ内のすべてのファイルを宛先ディレクトリにコピーし、必要なファイルまたはディレクトリを作成します。この動作モードでは、ディレクトリの再帰的コピーを示すために、追加のオプションフラグ(通常はr )が必要です。宛先ディレクトリがすでに存在する場合はソースが宛先にコピーされ、宛先が存在しない場合は新しいディレクトリが作成されます。

使用法
ファイルを別のファイルにコピーする:
cp ソースファイルターゲットファイル
ファイルをディレクトリにコピーする
cp sourcefile … targetdirectory
ディレクトリをディレクトリにコピーする(-rまたは-Rを使用する必要があります)
cp -r | -R sourcedirectory … targetdirectory

オプションフラグ-f(force)–書き込み操作のために開くことができない場合のターゲットファイルの削除を指定します。削除は、cpコマンドによって実行されるコピーの前に行われます。-H(逆参照)–コマンドをシンボリックリンクcp(シンボリックリンク)に従わせることで、宛先がターゲットへのシンボリックリンクではなくターゲットファイルを持つようにします。-i(インタラクティブ)–上書きするファイルの名前を示すプロンプトが表示されます。これは、TargetDirectoryまたはTargetFileパラメーターに、 SourceFileまたはSourceDirectoryパラメーターで指定されたファイルと同じ名前のファイルが含まれている場合に発生します。入力するyと(またはロケールに相当するy)、cpコマンドは続行されます。他の答えは、cpコマンドがファイルを上書きするのを防ぎます。-n(クラバリングなし)–誤ってファイルを上書きするのを防ぎます-p(保持)–-pフラグは、対応するターゲットの各ソースパスの次の特性を保持します:最後のデータ変更の時刻と最後のアクセスの時刻、所有権(これを行う権限がある場合のみ)、およびファイルパーミッションビット。-Rまたは-r(再帰的)–ディレクトリを再帰的にコピーします


現在のディレクトリにファイルのコピーを作成します。
cp prog.c prog.bak
これにより、prog.cがprog.bakにコピーされます。prog.bakファイルがまだ存在しない場合は、cpコマンドで作成されます。存在する場合、cpコマンドはその内容をprog.cファイルの内容に置き換えます。
現在のディレクトリにある2つのファイルを別のディレクトリにコピーします。
cp jones smith / home / nick / clients
これにより、ファイルjonesが/ home / nick / clients / jonesにコピーされ、 smithが/ home / nick / clients / smithにコピーされます。
ファイルを新しいファイルにコピーし、ソースファイルに関連付けられている変更日時とアクセス制御リストを保持します。
cp -p smith smith.jr
これにより、smithファイルがsmith.jrファイルにコピーされます。現在の日付とタイムスタンプでファイルを作成する代わりに、システムはsmith.jrファイルにsmithファイルと同じ日付と時刻を与えます。smith.jrファイルは、smithファイルのアクセス制御保護も継承します。
すべてのファイルとサブディレクトリを含むディレクトリを別のディレクトリにコピーします。
cp -R / home / nick / clients / home / nick / customers
これにより、すべてのファイル、サブディレクトリ、およびそれらのサブディレクトリ内のファイルを含むディレクトリクライアントがディレクトリcustomers / clientsにコピーされます。一部のUnixシステムは、ディレクトリパスの終了に応じて、このモードでの動作が異なります。cp -R /home/nick/clients/ /home/nick/customersGNUシステムで使用すると、期待どおりに動作します。ただし、BSDシステムでは、ディレクトリclients自体ではなく、「clients」ディレクトリのすべての内容をコピーします。ソースディレクトリのパスがで終わる場合、GNUシステムとBSDシステムの両方で同じことが起こります。または..(末尾のスラッシュの有無にかかわらず)。
既存のファイルへのファイルのコピーは、既存のファイルを更新モードで開くことによって実行されます。これにより、ファイルのiノードが保持されます。これには書き込みアクセスが必要であり、ターゲットファイルは元のアクセス許可を保持します。

関連するUnixコマンド
cpio –ディレクトリ構造全体をある場所から別の場所にコピーします
tar –ファイルのアーカイブを作成します
link –ファイルまたはディレクトリへのリンクを作成するためのシステムコール
ln –ファイルまたはディレクトリへのリンクを作成します
mv –ファイルまたはディレクトリを移動します
rm –ファイルまたはディレクトリを削除します
unlink –ファイルまたはディレクトリを削除するためのシステムコール
chmod –ファイルまたはディレクトリのモード(別名パーミッション)を変更します
chown –ファイルまたはディレクトリの所有権を変更します
chgrp –ファイルまたはディレクトリのグループを変更します
uucp –unixからunixへのコピー
scp –SSH経由のセキュアコピー
進行状況、 cp、mv、ddの進行状況を表示するLinuxツール。

も参照してください
ウィキブックスには、次のトピックに関する本がUnix/コマンド/ファイルシステムユーティリティのガイド#cp
GNUコアユーティリティ
Unixコマンドのリスト
rsync

参考文献
^ 「GNUCoreutils:cp呼び出し」。www.gnu.org。
^ 「EFIシェルとスクリプティング」。インテル。
^ McIlroy、MD(1987)。Research Unixリーダー:プログラマーマニュアル、1971年から1986年(PDF)(テクニカルレポート)からの注釈付きの抜粋。CSTR。ベル研究所。139。
^ 「Cp(1):ファイル/ディレクトリのコピー-Linuxのマニュアルページ」。
^ 「Progress(1)-Linuxのマニュアルページ」。
^ 「Progress-CoreutilsProgressViewer」。GitHub。

外部リンク
cp –コマンドとユーティリティのリファレンス、Single UNIX Specification、 The OpenGroupのIssue7
cp(1) –FreeBSD 一般コマンドマニュアル
cp(1) –NetBSD 一般コマンドマニュアル
cp(1) –OpenBSD 一般コマンドマニュアル
cp(1) –  Solaris10ユーザーコマンドリファレンスマニュアル
cp(1) –Linux ユーザーコマンドマニュアル
cp(1) –  Plan 9プログラマーズマニュアル、第1巻