重複したファイル/ディレクトリのみを上書きしながら、ディレクトリの内容を別のディレクトリに空にします。

重複したファイル/ディレクトリのみを上書きしながら、ディレクトリの内容を別のディレクトリに空にします。

2つのディレクトリがあり、/var/wwwそのうちの1つは新しくインストールされました。ラベルもう一つはgit cloneLaravelアプリケーションです。

/vendorデフォルトでは、Laravelアプリケーションが必要なコードで正しく実行されるように、Laravelを新しくインストールした場所に移動する必要があります。

ただし、コマンドラインを使用してこれを行う方法がわかりません。ファイルがないため、ファイルをrsync削除したり何も上書きしません。/vendorgit clone

-www
--laravelFresh
--laravelGithubApplication

laravelGithubApplication私はすべてが出て、laravelFreshその中のすべての重複項目をカバーしたいと思います。laravelFresh重複した内容を上書きしないでください。同期したくありませんlaravelGithubApplication

助けてください。

答え1

mv laravelGithubApplication/* laravelFresh/

前のディレクトリの内容:

laravelGithubApplication/
laravelGithubApplication/file
laravelFresh/
laravelFresh/file
laravelFresh/vendor/
laravelFresh/vendor/file

次のディレクトリの内容:

laravelGithubApplication/
laravelFresh/
laravelFresh/file (overwritten)
laravelFresh/vendor/
laravelFresh/vendor/file

予想どおり、重複ファイル(file)は上書きされ、既存のディレクトリ(vendor)は変更されずに残りますlaravelGithubApplication/

答え2

コメントでQ&Aを続けて次のことを試してみてください(すべてが/ var / wwwの下にあるとします)。

# cd /var/www
# mkdir laravelCombined
# cd laravelGithubApplication
# find . | cpio -dumpv /var/www/laravelCombined
# cd ../laravelFresh
# find . | cpio -dumpv /var/www/laravelCombined

内容を削除する前に、その/var/www/laravelGithubApplication内容/var/www/laravelCombined/var/www/laravelCombined必要であることを確認してください。次の場合:

# rm -rf /var/www/laravelGithubApplication
# rm -rf /var/www/laravelFresh
# mv /var/www/laravelCombined /var/www/laravelFresh

関連情報