cpコマンド:ファイルやディレクトリのコピー

cpコマンドは、LinuxやUnix系オペレーティングシステムでファイルやディレクトリをコピーするための基本的なコマンドです。このコマンドは、バックアップの作成、ファイルの移動前にコピーを取るなど、さまざまなシナリオで利用されます。cpコマンドはその使いやすさと柔軟性から、日々の作業効率を向上させる重要なツールです。

cpコマンドの基本的な使い方

ファイルをコピーする基本的なコマンドは次のとおりです。

cp source_file destination_file

このコマンドはsource_filedestination_fileにコピーします。もしdestination_fileが既に存在する場合は、上書きされます。

ディレクトリをコピーするには、-rオプション(または-Rオプション)を使用します。

cp -r source_directory destination_directory

このコマンドはsource_directorydestination_directoryに再帰的にコピーします。このとき、destination_directoryが存在しない場合は新たに作成されます。

cpコマンドの主要なオプション

  • -a, --archive : ファイルの属性を保持しながらコピーします。シンボリックリンク、ファイル属性、所有権を保持し、再帰的にコピーします。
  • -R, -r, --recursive : ディレクトリを再帰的にコピーします。
  • -i, --interactive : 上書きする前に確認を求めます。
  • -u, --update : 既に存在する同名のファイルがコピー元より古い場合のみコピーします。
  • -v, --verbose : コピーするファイルの詳細を表示します。
  • -p, --preserve : ファイルの所有者、グループ、権限、タイムスタンプを保持します。
  • -f, --force : コピー先に同名のファイルが存在する場合、問い合わせずに強制的に上書きします。
  • -l, --link : ハードリンクを作成します。
  • -s, --symbolic-link : シンボリックリンクを作成します。
  • -n, --no-clobber : 既存のファイルを上書きしません。
  • --backup : 同名のファイルが存在する場合にバックアップを作成します。
  • --suffix=SUFFIX : バックアップファイルのサフィックスを指定します。
  • --remove-destination : ファイルをコピーする前にコピー先のファイルを削除します。

cpコマンドの応用

バックアップの作成

cpコマンドを使用して、重要なファイルやディレクトリのバックアップを簡単に作成することができます。このとき、-bオプションを用いて元のファイルのバックアップを取りながら作業を行うことが推奨されます。

$ ls
destination source
$ cp -b source_file destination_file
$ ls
destination  destination~  source

ファイルの更新

-uオプションを使用することで、ソースファイルが宛先ファイルよりも新しい場合にのみコピーを行うことができます。これは、最新のファイルのみを保持したい場合に便利です。

$ cp -u source destination

ディレクトリごとコピー

-Rオプションを利用することで、ディレクトリ事コピーが可能です。

$ cp -Rp source destination

まとめ

cpコマンドはファイルやディレクトリのコピーに関する基本的ながらも強力な機能を提供します。日常的なファイル操作からシステムのバックアップ作成まで、幅広い用途で活用することができます。cpコマンドのオプションを適切に使用することで、より効率的で安全なファイル操作を実現することができます。

コメント

タイトルとURLをコピーしました