目次:
LinuxおよびUnixシステムで作業する場合、ファイルとディレクトリのコピーは、日常的に実行する最も一般的なタスクの1つです。
cp
は、UnixおよびLinuxシステムでファイルとディレクトリをコピーするためのコマンドラインユーティリティです。
、
cp
コマンドの使用方法を説明します。
cp
コマンドの使用方法
cp
コマンドの一般的な構文は次のとおりです。
cp SOURCE… DESTINATION
SOURCE
は引数として1つ以上のファイルまたはディレクトリを含めることができ、
DESTINATION
引数には単一のファイルまたはディレクトリを指定できます。
-
SOURCE
引数とDESTINATION
引数が両方ともファイルの場合、cp
コマンドは最初のファイルを2番目のファイルにコピーします。 ファイルが存在しない場合、コマンドはそれを作成します。SOURCEに引数として複数のファイルまたはディレクトリがある場合、DESTINATION
引数はディレクトリでなければなりません。 この場合、SOURCE
ファイルとディレクトリはDESTINATION
ディレクトリに移動されますDESTINATION
引数とDESTINATION
引数が両方ともディレクトリの場合、cp
コマンドは最初のディレクトリを2番目のディレクトリにコピーします。
ファイルとディレクトリをコピーするには、少なくともソースファイルの読み取り権限と宛先ディレクトリの書き込み権限が必要です。 それ以外の場合、許可拒否エラーが表示されます。
cpコマンドを使用したファイルのコピー
cp
を使用する最も基本的なシナリオは、現在の作業ディレクトリにファイルをコピーすることです。 たとえば、
file.txt
という名前のファイルを
file_backup.txt
にコピーするには、次のコマンドを実行します。
cp file file_backup
または
cp file{, _backup}
ファイルを別のディレクトリにコピーするには、宛先ディレクトリへの絶対パスまたは相対パスを指定します。
宛先としてディレクトリ名のみが指定されている場合、コピーされたファイルは元のファイルと同じ名前になります。
次の例では、ファイル
file.txt
を
/backup
ディレクトリにコピーしています。
cp file.txt /backup
cp file.txt /backup/new_file.txt
デフォルトでは、宛先ファイルが存在する場合、上書きされます。
-n
オプションは、
cp
既存のファイルを上書きしないように指示します。
cp
に確認のプロンプトを強制するには、
-i
オプションを使用します。
cp -i file.txt file_backup.txt
cp -u file.txt file_backup.txt
ファイルをコピーするとき、新しいファイルはコマンドを実行しているユーザーが所有します。
-p
オプションを使用して、ファイルモード、所有権、およびタイムスタンプを保持します。
cp -p file.txt file_backup.txt
役立つ可能性のある別のオプションは
-v
、これは
cp
に詳細な出力を出力するよう指示し
cp
。
cp -v file.txt file_backup.txt
'file.txt' -> 'file_backup.txt'
cpコマンドを使用したディレクトリのコピー
すべてのファイルとサブディレクトリを含むディレクトリをコピーするには、
-R
または
-r
オプションを使用します。
次の例では、
Pictures
ディレクトリを
Pictures
にコピーしています。
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
ユーティリティを使用します。