LinuxのコマンドラインツールがWindowsのツールよりもはるかに優れている方法はたくさんありますが、私が見つけたものの1つに相当するものはrobocopyです。Robocopyはの場合よりもはるかに汎用性が高くcp
、Linuxツールで必要なことをどのように行うかわかりません。
特定のユースケースは、ほとんど同じようなファイルを持つ2つのディレクトリがありますが、1つには新しいソースファイルがあり、もう1つには他のディレクトリにはないコンテンツファイルがあり、新しいソースファイル(Webサイト用)がある場合があります。後者のディレクトリから前者にファイルをコピーし、新しいコンテンツファイルなどを追加しますが、宛先ディレクトリの新しいファイルを上書きしません。
Linuxで30分ほどこれを行う方法を見つけようとし、おそらくbashスクリプトまたは自分がやりたいことをするために何かを習得しなければならないと判断し、robocopyを使用するだけでよいことに気付きました。他にもいくつかの要件がありました。私は基本的にPython(Django)WebサイトをSVNリポジトリからGitリポジトリに変換していましたが、SVNにコミットされていない変更がないことを確認したかったのです。ただし、.svn
ディレクトリと.pyc
コンパイルされたPythonファイルを条件付きで除外したかったのです。次のrobocopyコマンドは、私が望むことを正確に実行します。
robocopy source destination /XO /E /XD .svn /XF *.pyc
LinuxにはRobocopyに相当するものはありますか?rsync
簡単に調べましたが、フォルダーを同期する前にrsyncサーバーをセットアップする必要があるように思えました。