Linuxでディレクトリ/フォルダをコマンドラインでコピーする方法!
Linuxオペレーティングシステムでは、フォルダーをコピーするためのさまざまなコマンドがあります。 cpコマンドは、それを行うのに役立ちます。 サーバー上のファイルを整理するためには、コピーすることが必要になります。 cpコマンドを使用すると、ディレクトリとそのコンテンツとその下のすべてのサブディレクトリ全体をコピーすることができます。cpとrsyncは、ファイルとディレクトリをコピーするための最も人気のあるコマンドの1つです。
このチュートリアルでは、Linuxオペレーティングシステムでフォルダをコピーする方法を説明します。
cp コマンドの基本構文
cpコマンドはLinuxでファイルまたはディレクトリのコピーを行うために使用されます。 ディスク上にあるファイルの正確なコピーを、異なる名前で作成します。
cp Source Destination
cp Source-1 Source-2 Source-3 Destination
以下のコマンドを実行すると、cpコマンドで利用できるすべてのオプションが表示されます:
cp --help
以下の画面が表示されます。
cpコマンドによるディレクトリのコピー
ディレクトリとそのすべてのファイルおよびサブディレクトリをコピーする場合は、cpコマンドで-Rまたは-rオプションを使用します。
例えば、次のコマンドで /etc ディレクトリを /opt ディレクトリにコピーします:
cp -R /etc /opt/
上のコマンドは、コピー先のディレクトリを作成し、すべてのファイルとサブディレクトリを /opt ディレクトリに再帰的にコピーします。
コピー先ディレクトリがすでに存在し、ファイルおよびサブディレクトリのみをコピーし、ターゲットディレクトリをコピーしない場合は、以下のように -T オプションを付けて cp コマンドを実行します。
cp -RT /etc /opt/
所有権、タイムスタンプ、コンテキスト、リンクなどの属性を保持したい場合は、以下のように-aオプションを付けてcpコマンドを実行します:
cp -aR /etc /opt/
コピー中に出力を表示したい場合は、cpコマンドに-vオプションを付けて実行します。
cp -avR /etc /opt/
以下のように出力されます。
/etcディレクトリの内容のみを/optにコピーしたい場合、以下のようにスターワイルドカードを指定する必要があります。
cp -avR /etc/* /opt/
/etcや/varなどの複数のディレクトリを/optディレクトリにコピーする場合は、次のコマンドを実行します:
cp -avR /etc /var /opt/
注意:ディレクトリをコピーするには、ソースディレクトリに読み取り権限、宛先ディレクトリに書き込み権限があることが必要です。
rsync コマンドによるディレクトリのコピー
rsync は、ローカルとリモート間でディレクトリをコピーすることができる高度なファイル コピー ツールの 1 つです。
rsync コマンドの基本的な構文は次のとおりです:
rsync SOURCE DESTINATION
rsync コマンドで使用できるすべてのオプションは、次のとおりです:
rsync --help
以下の画面が表示されたら確認してください。
/etcディレクトリを/optにコピーするには、次のコマンドを実行します:
rsync -a /etc /opt
上記のコマンドの-aオプションは、再帰コピーを含むすべての権限と他の情報とともにディレクトリをコピーします。 コピー先のディレクトリが存在する場合、rsync はそれを上書きします。
/etcディレクトリの内容だけをコピーしたい場合は、/etcの最後にスラッシュ/を付けます:
rsync -a /etc/ /opt
rsyncに-vオプションを付けると以下のように詳細な出力を表示できます:
rsync -av /etc /opt
以下の画面を見ることができます。
コピー中に進行状況を表示したい場合は、以下のように -P オプションを付けて rsync を実行します:
rsync -avP /etc /opt
転送中にファイルデータを圧縮するには、rsync コマンドで -z オプションも使用できます。
rsync -avz /etc /opt
特定のディレクトリを転送元から除外したい場合は、以下のコマンドを実行します:
rsync -a --exclude 'directoryname' /opt/
複数のディレクトリを除外する場合は、以下のコマンドを実行します。
rsync -a --exclude {'directory1', 'directory2', 'directory3'} /opt/
複数のディレクトリを /opt にコピーする場合は、次のコマンドを実行します:
rsync -a /etc /usr /opt/
まとめ
上記のチュートリアルで、cp と rsync コマンドでディレクトリをコピーする方法について学びました。 より詳細な情報は、Rsync Doc.
にある Rsync 公式ドキュメントを参照してください。