
だから私は現在次のようなことをしています。
rm -rf ../../../$CLOUD_INSTALL_SUBDIR/lib_boost
mkdir ../../../$CLOUD_INSTALL_SUBDIR/lib_boost
cp -r ../../../$BOOST_ROOT_DIR/$BOOST_INSTALL_SUBDIR/lib/* ../../../$CLOUD_INSTALL_SUBDIR/lib_boost/
残念です...2つのフォルダの間に最新のファイルのみを更新/削除/追加する方法を知りたいです(デモには、最新のコンテンツを含むフォルダと古いコンテンツフォルダを含むファイルが../../../$BOOST_ROOT_DIR/$BOOST_INSTALL_SUBDIR/lib/
あります../../../$CLOUD_INSTALL_SUBDIR/lib_boost
)。
答え1
Rsyncは最新かつ親友です。
rsync -av original/folder/ new/folder/
末尾のスラッシュは両方に重要です。最初の項目を除外すると、そのフォルダは自分のフォルダにコピーされます。権限、タイムスタンプなどを保存するには、そのnew/folder/
フラグを使用するのが最善です。-a
Rsyncはまた、構造をコピーするために必要に応じて自動的にディレクトリを作成します。
答え2
これを達成するためにrsyncを使用できます。あなたの例では次のようになります。
rsync -va ../../../$CLOUD_INSTALL_SUBDIR/lib_boost/ ../../../$CLOUD_INSTALL_SUBDIR/lib_boost
-vオプションは詳細モードを有効にし、-aオプションはアーカイブモードを有効にします。
rsync の詳細については、以下で確認できます。マニュアルページ