cp コマンドは、Linux でファイルやディレクトリをコピーするための標準的なツールです。基本的な構文は cp [ソース] [デスティネーション] です。
基本的なファイルコピー
ファイルをコピーするには、ソースファイルとデスティネーションのディレクトリまたはパスを指定します。
cp mycoolfile /home/pete/Documents/cooldocs
この例では、mycoolfile がソースファイルで、/home/pete/Documents/cooldocs がデスティネーションディレクトリです。ファイルをコピーして、デスティネーションで新しい名前を付けることもできます。
cp mycoolfile /home/pete/Documents/mycoolfile_backup
ワイルドカードを使用した一括コピー
ワイルドカードは、パターンに基づいて複数のファイルを選択するのに役立つ特殊文字であり、大きな柔軟性を提供します。
*: 任意の文字列に一致します。?: 任意の単一の文字に一致します。[]: ブラケット内に含まれる任意の 1 文字に一致します。
例えば、現在の場所から Pictures ディレクトリにすべての JPEG 画像をコピーするには、次のようにします。
cp *.jpg /home/pete/Pictures
ディレクトリの再帰的コピー
オプションなしで cp を使用してディレクトリをコピーしようとすると、エラーが発生します。サブディレクトリを含むディレクトリとそのすべてのコンテンツをコピーするには、-r (再帰的) フラグを使用する必要があります。
cp -r Pumpkin/ /home/pete/Documents
このコマンドは、Pumpkin ディレクトリとその中身すべてを Documents ディレクトリにコピーします。
ファイルの上書き処理
デフォルトでは、cp は同じ名前のファイルがデスティネーションにある場合、それを上書きします。意図しないデータ損失を防ぐために、上書き前に確認を求める -i (インタラクティブ) フラグを使用します。
cp -i mycoolfile /home/pete/Pictures
逆に、プロンプトなしで上書きを強制したい場合は、cp -f フラグ を使用できます。これは、ユーザーの操作が不可能なスクリプトで役立ちます。
cp -f mycoolfile /home/pete/Pictures
cp -p によるファイル属性の保持
ファイルをコピーすると、通常、変更時刻や所有権などのメタデータが更新されます。これらの元の属性を保持するには、cp -p フラグが不可欠です。linuxで cp -p を使用する ことで、コンテンツだけでなくメタデータにおいてもコピーが正確なレプリカであることが保証されます。
cp -p フラグ は、タイムスタンプの保持が重要なバックアップやファイルの移行時に特に役立ちます。
cp -p mycoolfile /home/pete/backups/
このコマンドは、mycoolfile をコピーする際に、そのモード、所有権、およびタイムスタンプを保持するために linux cp -p を使用する方法を示しています。