ドキュメントとレジストリの複製とコピーは、Linuxコマンドラインで作業するときに実行する最も広く認識され、一般的に使用されるタスクである可能性があります。 Linuxでは、ドキュメントを複製するためのいくつかの順序があり、cpとrsyncの順序が最もよく知られています。
ほとんどのLinuxユーザーは、ファイルをコピーするときにcpコマンドを、ディレクトリをコピーするときにrsyncコマンドを頻繁に使用します。
開始する前に
ファイルとディレクトリをコピーできるようにするには、少なくともソースファイルに対する読み取り権限と、宛先ディレクトリに対する書き込み権限が必要です。
cpコマンドを使用したファイルのコピー
cpコマンドは、Linuxシステム上のファイルとディレクトリを同じマシン上のある場所から別の場所にコピーするためのコマンドラインユーティリティです。
最も単純な使用例は、現在の作業ディレクトリにあるファイルをコピーすることです。たとえば、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
役立つ可能性のあるもう1つのオプションは、-v
です。 。このオプションを使用すると、コマンドは実行中の内容を出力します:
cp -v file.txt file_backup.txt
'file.txt' -> 'file_backup.txt'
ファイルを別のディレクトリにコピー
ファイルを別のディレクトリにコピーするには、宛先ディレクトリへの絶対パスまたは相対パスを指定する必要があります。次の例では、ファイルfile.txt
をコピーします。 ディレクトリ/backup
:
cp file.txt /backup
宛先としてディレクトリ名のみを指定する場合、コピーされたファイルは元のファイルと同じ名前になります。
別の名前のファイルをコピーする場合は、目的のファイル名を指定する必要があります。
cp file.txt /backup/file_baru.txt
上記のコマンドは、ファイルをfile_baru.txt
として指定されたディレクトリにコピーします。 。
複数のファイルをコピーする
ファイル名の後に宛先ディレクトリを指定して、一度に複数のファイルをコピーすることもできます。
cp file.txt file1.txt file2.txt directory
複数のファイルをコピーする場合、宛先はディレクトリである必要があります。
cpコマンドを使用すると、パターンマッチングを使用することもできます。たとえば、すべてのファイルをコピーするにはpng
現在のディレクトリからディレクトリ/backup
使用するもの:
cp *.png /backup
Linuxでcpコマンドを使用してディレクトリをコピーする方法
すべてのファイルとサブディレクトリを含むディレクトリをコピーするには、-Rオプションを使用します。次の例では、ディレクトリ~/Pictures
をコピーします。 ディレクトリ~/Pictures_backup
:
cp -R Pictures Pictures_backup
上記のコマンドは、宛先ディレクトリを作成し、すべてのファイルとサブディレクトリをソースから宛先ディレクトリに再帰的にコピーします。
ファイルのコピー時に使用されるオプションは、ディレクトリのコピー時にも使用できます。主な違いは、ディレクトリをコピーするときに、オプション-R
を使用する必要があることです。 。
rsyncコマンドを使用してLinuxでファイルとディレクトリをコピーする方法
Rsyncは、高速で用途の広いコマンドラインユーティリティです。 Rsyncは2つの場所の間でファイルとディレクトリを同期します。 Rsyncを使用して、ファイルをローカルの場所またはリモートの場所にコピーできます。
Rsyncは、その動作のあらゆる側面を制御するいくつかのオプションを提供します。最もよく使用されるオプションは-a
です。 これにより、ディレクトリが再帰的にコピーされ、カスタムデバイスとブロックが転送され、シンボリックリンク、変更時間、グループ、所有権、およびファイルのアクセス許可が保持されます。
あるファイルをある場所から別の場所にコピーするには、次のコマンドを使用できます。
rsync -a file.txt file_backup.txt
宛先ファイルが存在する場合、rsyncはそれを上書きします。
上記と同じコマンドを使用して、rsyncでディレクトリをコピーできます:
rsync -a / var / www / public_html / / var / www / public_html_backup /
Rsyncはスラッシュ/
を考慮することに注意してください 別の概念を持つソースの最後に。ソースディレクトリに末尾のスラッシュを追加すると、内容をコピーするだけになります。 ディレクトリから宛先ディレクトリへ。末尾のスラッシュが削除されると、rsyncはディレクトリをコピーします ソースを宛先ディレクトリに入れます。
結論
このガイドでは、cpおよびrsyncユーティリティを使用してLinuxおよびUnixベースのシステムでファイルとディレクトリをコピーする方法を学習しました。
RockyLinux8およびCentOS8にMonoをインストールして構成する方法