Linuxでファイルとディレクトリをコピーする方法
ファイルとディレクトリのコピーは、コマンドラインで作業するときに実行する最も一般的 Linuxにはファイルをコピーするためのコマンドがいくつかあり、cp
rsync
cp
rsync
を使用するのが一般的です。
ファイルとディレクトリをコピーできるようにするには、少なくともソースファイルに対する読み取り権限と宛先ディレクトリに対する書き込み権限linuxおよびUnixオペレーティングシステムでは、cp
コマンドがファイルおよびディレクトリのコピーに使用されます。
最も単純なユースケースは、現在の作業ディレクトリにファイルをコピーすることです。 たとえば、file.txt
file_backup.txt
という名前のファイルにコピーするには、次のコマンドを実行します:p>
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
ディレクトリにコピーしています:p>
cp file.txt /backup
宛先としてディレクトリ名のみを指定すると、コピーされたファイルは元のファイルと同じ名前になります。
別の名前でファイルをコピーする場合は、目的のファイル名を指定する必要があります。
cp file.txt /backup/new_file.txt
上記のコマンドは、new_file.txt
として指定されたディレクトリにファイルをコピーします。
複数のファイルをコピーする#
複数のファイルとディレクトリを一度にコピーするには、ソースファイルとディレクトリの名前を指定し、最後の引:
cp file.txt dir file1.txt file2.txt dir1
複数のファイルをコピーする場合、コピー先はディレクトリでなければなりません。
cp
.png
/backup
ディレクトリにコピーするには、次のように使用します。
cp *.png /backup
cpコマンド#でディレクトリをコピーする
すべてのファイルとサブディレクトリを含むディレクトリをコピーするには、/backup
/backup
ディレクトリをコピーするには、
/backup
ディレクトリをコピーするには、/backup
ディレクトリをコピーするには、以下を使用します。-R
または-r
Pictures
Pictures_backup
にコピーしています。
cp -R Pictures Pictures_backup
上記のコマンドは、宛先ディレクトリを作成し、すべてのファイ
コピー先ディレクトリが既に存在する場合、コピー元ディレクトリ自体とその内容がコピー先ディレクトリにコピーされます。 ファイルとサブディレクトリのみをコピーし、ターゲットディレクトリはコピーしないには、-T
オプションを使用します:p>
cp -RT Pictures Pictures_backup
ファイルのコピー時に使用されるオプションは、ディレクトリのコピー時にも使用できます。 主な違いは、ディレクトリをコピーするときに、-R
オプションを使用する必要があることです。
rsyncコマンドでファイルやディレクトリをコピーする#
rsync
は、二つの場所の間でファイルやディレクトリを同期する高速で汎用性の高い これは、ローカルおよびリモートの場所にファイルをコピーするために使用することができます。
rsync
その動作のあらゆる側面を制御する多くのオプションが含まれています
最も有用なオプションは-a
ディレクトリを再帰的にコピーし、特別なデバイスを転送し、ブロックし、シンボリックリンク、変更時刻、グループ、所有権、および権限を保持するです。
ある場所から別の場所に単一のファイルをコピーするには、次のコマンドを実行します。
rsync -a file.txt file_backup.txt
宛先ファイルが存在する場合、rsync
同じコマンドを使用してディレクトリをコピーすることができます:
rsync -a /var/www/public_html/ /var/www/public_html_backup/
rsync
/
rsync
/
宛先とソースの両方に。
rsync
の詳細については、次の記事を確認してください。
- ローカルおよびリモートのデータ転送および同期にRsyncを使用する方法
- Rsyncでファイル
cp
およびrsync
ユーティリティ。
Leave a Reply