ファイルをコピーする (cp コマンド)
SourceFile または SourceDirectory パラメーターによって指定されたファイルま たはディレクトリーの内容を、TargetFile または TargetDirectory パラメーターによって指定されたファイ ルまたはディレクトリーにコピーするには、cp コマンドを使用します。
TargetFile に指定されたファイルが存在する場合には、警告なしに、ファイルの元の内容が上書きされます。 複数の SourceFile をコピーする場合には、 ターゲットはディレクトリーでなければなりません。
同じ名前のファイルが新規の宛先に存在する場合には、新規宛先のファイルはコピーされたファイルによって上書きされます。 したがって、 ファイルのコピーに新しい 名前を割り当てることは有効な手法です。これにより、宛先ディレクトリーに同じ名前のファイルが確実に存在しないようにします。
SourceFile の コピーをディレクトリーに置くには、TargetDirectory パラメーターに対して、既存のディレクトリーへのパスを指定してください。 このパスの最後に新しいファイル名を指定しない限り、ファイルのそれぞれの名前は、 ディレクトリーへコピーされてからもファイルに保持されます。 また、cp コマンドは、-r、-R のいずれかのフラグを指定すると、複数のディレクトリー全体を、ほかの複数のディレクトリーへコピーします。
さらに、-R フラグを使用して、スペシャル・デバイス・ファイルをコピーすることもできます。 -R を 指定すると、スペシャル・ファイルが、新規パス名を使って再作成されます。 -r フラグを指定すると、cp コマンドは、スペシャル・ファイルを正規ファイルへ コピーしようとします。
- 現行ディレクトリーの中のファイルのコピーを作成するには、次のように入力します。
これにより、 prog.c が prog.bak にコピーされます。 prog.bak というファイルがすでに存在しない場合、cp コマンドはこのファイルを作成します。 このファイルが存在する 場合、cp コマンドは、既存のファイルを prog.c ファイルのコピーに置き換えます。cp prog.c prog.bak - 現行ディレクトリーのファイルを別のディレクトリーにコピーするには、次のように入力します。
これに より、jones というファイルが、/home/nick/clients/jones へコピーされます。cp jones /home/nick/clients - 1 つのディレクトリー内のすべてのファイルを新規ディレクトリーにコピーするには、次のように入力します。
これに より、clients ディレクトリー内のファイルのみが、customers ディレクトリーへコピーされます。cp /home/janet/clients/* /home/nick/customers - ファイルの特定のセットを別のディレクトリーにコピーするには、次のように入力します。
これに より、現行作業ディレクトリー内の jones、lewis、および smith の各ファイル が、/home/nick/clients ディレクトリーへコピーされます。cp jones lewis smith /home/nick/clients - パターン・マッチング文字を使用してファイルをコピーするには、次のように入力します。
これで、programs ディレクトリー内のファイルのうち .c で終わるファイルが、単一ドット (.) で表される現行ディレクトリーにコピーされます。c と最後のドットの間には、スペースを入力しなければなりません。cp programs/*.c .
完全な構文については、「コマンド・リファレンス 第 1 巻」の cp コマンドを参照してください。