LinuxおよびUnixシステムで作業する場合、ファイルとディレクトリのコピーは、日常的に実行する最も一般的なタスクの1つです。
cp
UnixおよびLinuxシステムでファイルとディレクトリをコピーするためのコマンドラインユーティリティです。
この記事では、cp
の使用方法について説明します。 コマンド。
cp
の使用方法 コマンド#
cp
の一般的な構文 コマンドは次のとおりです:
cp [OPTIONS] SOURCE... DESTINATION
SOURCE
引数として1つ以上のファイルまたはディレクトリ、およびDESTINATION
を含めることができます 引数は単一のファイルまたはディレクトリにすることができます。
-
SOURCE
の場合 およびDESTINATION
引数は両方ともファイル、cp
コマンドは、最初のファイルを2番目のファイルにコピーします。ファイルが存在しない場合、コマンドはファイルを作成します。 -
SOURCE
の場合 引数として複数のファイルまたはディレクトリ、DESTINATION
があります 引数はディレクトリでなければなりません。この状況では、SOURCE
ファイルとディレクトリはDESTINATION
に移動されます ディレクトリ。 -
SOURCE
の場合 およびDESTINATION
引数は両方ともディレクトリ、cp
コマンドは、最初のディレクトリを2番目のディレクトリにコピーします。
ファイルとディレクトリをコピーするには、少なくともソースファイルに対する読み取り権限と宛先ディレクトリに対する書き込み権限が必要です。それ以外の場合は、許可拒否エラーが表示されます。
cpコマンドを使用したファイルのコピー#
cp
を使用する最も基本的なシナリオ 現在の作業ディレクトリにファイルをコピーすることです。たとえば、file.txt
という名前のファイルをコピーするには file_backup.txt
へ 、次のコマンドを実行します:
cp file file_backup
または:
cp file{,_backup}
ファイルを別のディレクトリにコピーするには、宛先ディレクトリへの絶対パスまたは相対パスを指定します。
宛先としてディレクトリ名のみを指定した場合、コピーしたファイルの名前は元のファイルと同じになります。
次の例では、ファイルfile.txt
をコピーしています。 /backup
へ ディレクトリ:
cp file.txt /backup
別の名前でファイルをコピーする場合は、目的のファイル名を指定する必要があります。以下のコマンドは、ファイルをnew_file.txt
として指定されたディレクトリにコピーします。 。
cp file.txt /backup/new_file.txt
デフォルトでは、宛先ファイルが存在する場合、それは上書きされます。 -n
オプションはcp
に指示します 既存のファイルを上書きしないでください。
cp
を強制するには 確認を求めるには、-i
を使用します オプション。
cp -i file.txt file_backup.txt
宛先よりも新しい場合にのみファイルをコピーする場合は、-u
を指定してコマンドを呼び出します。 オプション:
cp -u file.txt file_backup.txt
ファイルをコピーする場合、新しいファイルはコマンドを実行しているユーザーが所有します。 -p
を使用します ファイルモード、所有権、およびタイムスタンプを保持するオプション:
cp -p file.txt file_backup.txt
便利なもう1つのオプションは、-v
です。 、cp
に通知します 詳細な出力を印刷するには:
cp -v file.txt file_backup.txt
'file.txt' -> 'file_backup.txt'
cpコマンドを使用したディレクトリのコピー#
すべてのファイルとサブディレクトリを含むディレクトリをコピーするには、-R
を使用します または-r
オプション。
次の例では、ディレクトリPictures
をコピーしています。 Pictures_backup
へ :
cp -R Pictures Pictures_backup
上記のコマンドは、宛先ディレクトリを作成し、すべてのファイルとサブディレクトリをソースから宛先ディレクトリに再帰的にコピーします。
宛先ディレクトリがすでに存在する場合は、ソースディレクトリ自体とそのコンテンツが宛先ディレクトリ内にコピーされます。
ファイルとサブディレクトリのみをコピーし、ソースディレクトリはコピーしない場合は、-T
を使用します。 オプション:
cp -RT Pictures Pictures_backup
ディレクトリのコンテンツのみをコピーし、ディレクトリ自体はコピーしない別の方法は、ワイルドカード文字(*
)を使用することです。 )。次のコマンドの欠点は、隠しファイルと隠しディレクトリ(ドット.
で始まるもの)をコピーしないことです。 ):
cp -RT Pictures/* Pictures_backup/
前のセクションでファイルをコピーするときに使用したすべてのオプションは、ディレクトリをコピーするときにも使用できます。主な違いは、ディレクトリをコピーするときは、常に-R
を使用する必要があることです。 オプション。
複数のファイルとディレクトリを一度にコピーするには、それらの名前を指定し、最後の引数として宛先ディレクトリを使用します。
cp file.txt dir file1.txt dir1
複数のファイルをコピーする場合、宛先はディレクトリである必要があります。
結論#
cp
を使用してファイルとディレクトリをコピーする コマンドは簡単な作業です。利用可能なcp
の詳細については オプション、「man cp
」と入力します ターミナルで。
ネットワーク経由でファイルをコピーするには、rsync
を使用します およびscp
ユーティリティ。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。