rsync
複数のファイルをソース ディレクトリから、存在しない複数のサブディレクトリを持つ宛先ディレクトリにコピーすることは可能ですか? または、install -D
複数のファイルを存在しないディレクトリにコピーすることはできますか?
また、ソース ディレクトリの名前も確認しましたが、存在しない宛先ディレクトリを選択し、作成後にすべてのファイルをそこにコピーすることcp --parents
は可能ですか?cp
次のような質問があります。1 つのコマンドだけで存在しないディレクトリにファイルをコピーする (Linux) と合併:ファイルをコピーすると同時にターゲットディレクトリを作成するにはどうすればよいでしょうか?
しかし、1 つのファイルをコピーするための解決策としては、次のようなものがあります。
cp /etc/*.conf ~/mytest/
mytest は存在せず、/etc/*.conf
複数のファイルがあります。 で実行することは可能でしょうか。cp
また、コマンドを 1 つだけ使用する方がよいでしょうか。
答え1
コマンドを試してくださいrsync
:
rsync -av /etc/*.conf ~/mytest
一般的には
rsync -av In/*conf Out/NewDir
以前の状況は次のとおりです。
In
├── d1.conf
├── d2.conf
├── d3.txt
├── Sub_In_1
└── Sub_In_2.conf
└── SubIn2.Files
Out
└── Out_OldFiles
コマンドが実行されると
Out
├── NewDir
│ ├── d1.conf
│ ├── d2.conf
│ └── Sub_In_2.conf
│ └── SubIn2.Files
└── Out_OldFiles
この場合、共通ファイルだけで*.conf
なくディレクトリも選択します。選択したすべてのファイルとディレクトリが、ディレクトリの下にSub_In_2.conf
新しく作成されたディレクトリにコピーされます。NewDir
Out
オプション-a
には -r (ディレクトリを再帰的に検索)も含まれます
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
ノート
- 再帰オプション
rsync
は-r(そして-R)。 - -r
cp
と -R は同じオプションに対応します。 - このオプションは
-v
必須ではありません。追加の情報を提供するだけです。 - 送信元ホストと送信先ホストに
rsync
異なる 2 台のコンピュータ間でも使用できます。host1
host2
最後のコマンドは
rsync -av host1:InputDir host2:OutputDir/NewDirThatDidNotExists