Bash 速習チュートリアル

Bash cpコマンド

1. cpコマンドの使用方法

cpコマンドは、ファイルやディレクトリをある場所から別の場所へコピーするために使用されます。
これは、ファイルやフォルダの複製を作成するような操作です。

1.1 基本的な使い方

ファイルをコピーするには、cp ソースファイル デスティネーションファイル の形式で使用します。

例:

cp my_file.txt copy_of_my_file.txt

2. オプション

cpコマンドには、動作を変更するための様々なオプションが用意されています。

  • -r - ディレクトリ内のすべてのファイルとフォルダをコピーする(再帰的コピー)
  • -i - ファイルを上書きする前に確認メッセージを表示する
  • -u - ソース側が新しい場合のみコピーする
  • -v - 詳細モード(Verbose mode)、コピーされているファイルを表示する

2.1 -v オプション:詳細モード

-vオプションは詳細モード(Verbose mode)を有効にし、ターミナル上でコピーされているファイルをリアルタイムで表示します。
これは、大量のファイルを扱う際に、コピーの進捗を追跡するのに非常に役立ちます。

例:詳細モード

cp -v my_file.txt copy_of_my_file.txt
# 出力結果
'my_file.txt' -> 'copy_of_my_file.txt'

3. ディレクトリの再帰的なコピー

-rオプションを使用すると、すべてのファイルやサブディレクトリを含むディレクトリ全体をコピーすることができます。

例:ディレクトリのコピー

cp -r images images2

4. 上書き前の確認プロンプト

-iオプションを使用すると、ファイルを上書きする前に確認を求められます。これにより、誤って既存のファイルを置き換えてしまうミスを防ぐことができます。

例:上書き前の確認プロンプト

cp -i my_file.txt copy_of_my_file.txt
# 出力結果
cp: overwrite copy_of_my_file.txt?
# (copy_of_my_file.txt を上書きしますか?)

5. 新しいファイルのみをコピー

-uオプションは、ソースファイルがデスティネーションファイルよりも新しい(更新されている)場合のみコピーを実行します。

例:新しいファイルのみをコピー

cp -u new_file.txt existing_file.txt

6. ワイルドカードを使用したコピー

ワイルドカードを使用すると、複数のファイルを一度にコピーできます。例えば、cp *.txt /destination/ を実行すると、すべてのテキストファイルが指定したデスティネーションフォルダにコピーされます。

例:ワイルドカードの使用

cp *.txt /destination/