アンドロイド

Linuxでファイルとディレクトリをコピーする方法

目次:

Anonim

ファイルとディレクトリのコピーは、コマンドラインで作業するときに実行する最も一般的なタスクの1つです。 Linuxには、 cp および rsync が最も広く使用されているツールであるファイルをコピーするためのコマンドがいくつかあります。

ファイルをコピーするときは cp コマンドを使用し、ディレクトリをコピーするときは rsync コマンドを使用するのが一般的な方法です。

ファイルとディレクトリをコピーできるようにするには、少なくともソースファイルの読み取り権限と宛先ディレクトリの書き込み権限が必要です。

cp コマンドを使用したファイルのコピー

LinuxおよびUnixオペレーティングシステムでは、 cp コマンドを使用してファイルとディレクトリをコピーします。

最も単純な使用例は、現在の作業ディレクトリにファイルをコピーすることです。 たとえば、 file.txt という名前のファイルを現在のディレクトリの file_backup.txt という名前のファイルにコピーするには、次のコマンドを実行します。

cp file.txt file_backup.txt

宛先ファイルが存在する場合、上書きされます。 ファイルを上書きする前に確認プロンプトを表示するには、 -i オプションを使用します。

cp -i file.txt file_backup.txt

デフォルトでは、 cp コマンドを使用してファイルをコピーする場合、新しいファイルはコマンドを実行するユーザーが所有します。 -p オプションを使用して、ファイルモード、所有権、およびタイムスタンプを保持します。

cp -p file.txt file_backup.txt

便利な別のオプションは -v です。 このオプションを使用すると、コマンドは実行中の内容を出力します。

cp -v file.txt file_backup.txt

'file.txt' -> 'file_backup.txt'

ファイルをディレクトリにコピーする

ファイルをディレクトリにコピーするには、ディレクトリへの絶対パスまたは相対パスを指定します。 宛先ディレクトリを省略すると、ファイルは現在のディレクトリにコピーされます。

次の例では、ファイル file.txt /backup ディレクトリにコピーしています。

cp file.txt /backup

宛先としてディレクトリ名のみを指定すると、コピーされたファイルは元のファイルと同じ名前になります。

cp file.txt /backup/new_file.txt

上記のコマンドは、指定されたディレクトリに new_file.txt として new_file.txt ます。

複数のファイルをコピーする

複数のファイルとディレクトリを一度にコピーするには、ソースファイルとディレクトリの名前を指定し、最後の引数として宛先ディレクトリを指定します。

cp file.txt dir file1.txt file2.txt dir1

複数のファイルをコピーする場合、宛先はディレクトリでなければなりません。

cpコマンドを使用すると、パターンマッチングを使用することもできます。 たとえば、現在のディレクトリから /backup ディレクトリにすべての .png ファイルをコピーするには、次を使用します。

cp *.png /backup

cp コマンドを使用したディレクトリのコピー

すべてのファイルとサブディレクトリを含むディレクトリをコピーするには、 -R または -r オプションを使用します。 次の例では、 Pictures ディレクトリを Pictures にコピーしています。

cp -R Pictures Pictures_backup

上記のコマンドは、宛先ディレクトリを作成し、すべてのファイルとサブディレクトリをソースから宛先ディレクトリに再帰的にコピーします。

宛先ディレクトリがすでに存在する場合、ソースディレクトリ自体とそのすべてのコンテンツが宛先ディレクトリにコピーされます。 ファイルとサブディレクトリのみをコピーし、ターゲットディレクトリはコピーしない場合は、 -T オプションを使用します。

cp -RT Pictures Pictures_backup

ファイルをコピーするときに使用されるオプションは、ディレクトリをコピーするときにも使用できます。 主な違いは、ディレクトリをコピーするときに、 -R オプションを使用する必要があることです。

rsync コマンドを使用したファイルとディレクトリのコピー

rsync は、2つの場所の間でファイルとディレクトリを同期する高速で汎用性の高いコマンドラインユーティリティです。 ファイルをローカルおよびリモートの場所にコピーするために使用できます。

rsync は、その動作のあらゆる側面を制御する多くのオプションが含まれています。 最も便利なオプションは -a 。ディレクトリを再帰的にコピーし、特別なデバイスとブロックデバイスを転送し、シンボリックリンク、変更時間、グループ、所有権、アクセス許可を保持します。

1つのファイルを別の場所にコピーするには、次のコマンドを実行します。

rsync -a file.txt file_backup.txt

宛先ファイルが存在する場合、 rsync はそれを上書きします。

同じコマンドを使用してディレクトリをコピーできます。

rsync -a /var/www/public_html/ /var/www/public_html_backup/

rsync は、末尾がスラッシュ / で終わるソースディレクトリを rsync ます。 ソースディレクトリに末尾のスラッシュを追加すると、コマンドはソースディレクトリの内容のみを宛先ディレクトリにコピーします。 末尾のスラッシュが省略されると、 rsync はソースディレクトリを宛先ディレクトリ内にコピーします。 最も安全なオプションは、宛先とソースの両方に常に末尾のスラッシュ / を含めることです。

rsync 詳細については、次の記事を参照してください。

結論

このガイドでは、 cp および rsync ユーティリティを使用して、LinuxおよびUnixベースのシステムでファイルとディレクトリをコピーする方法を示しました。

cp rsync端子