10. cp (コピー)

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 を使用する方法を示しています。

ログインして学習進捗を保存

サインイン

演習

練習あるのみです!Linux でのファイルやディレクトリのコピーに関する理解を深めるための実践的なラボをいくつか紹介します。

  1. Linux cp コマンド:ファイルコピー - 基本的な使い方、再帰的コピー、属性の保持、ワイルドカードの使用といった高度なオプションを練習し、ファイルやディレクトリを効率的にコピーします。
  2. ファイルとディレクトリの整理 - cpmvrm コマンドを使用してプロジェクト構造を整理し、ファイルを移動し、不要なディレクトリをクリーンアップすることで、不可欠な Linux ファイル管理スキルを練習します。

これらのラボは、実際のシナリオで概念を適用し、Linux でのファイルコピーと管理に対する自信を築くのに役立ちます。

クイズ

ディレクトリを上書きコピーするために指定する必要があるフラグは何ですか?