[linux] mv:$を$に移動できません:ディレクトリが空ではありません



Mv Cannot Move



プロセスの最近のテスト、実行が与えられたプロセスなので、スクリプトの変更を確認した後、再テストします。スクリプトが切り替えられましたが、shell与えられたタイトルのステップとして実行中に遭遇しました!

$ mv MP_genus_network_files/ tax_network mv: cannot move `MP_genus_network_files/' to `tax_network/MP_genus_network_files': Directory not empty

このエラーは次のとおりです。mv移動コマンドが宛先パスにすでに存在する(空ではない)場合、移動していません。mv誤ったカバレッジを防ぐための保護メカニズムです。



しかし、これはプロセスの中で友好的な場所ではありません。さまざまな理由で、アナリストは中間ステップエラーに遭遇する可能性がありますが、プロセスはファイルを生成し、スクリプトがカバーされていない場合は再度実行するようにスクリプトを変更し、プロセスを再度エラーの撤回を強制しました。私たちが望んでいるものではありません。自動化されたプロセスでこの係数を設定するにはどうすればよいですか?条件文は長くて臭いが、ディレクトリ内のファイルが多すぎると判断できません。ここでは、rsyncコマンドの代わりにmvを使用するのが最適です。

rsync -a MP_genus_network_files/ tax_network/MP_genus_network_files

ターゲットディレクトリのサブディレクトリとしてファイルディレクトリに注意し、宛先ディレクトリの名前とサブディレクトリを追加します。それ以外の場合は、含まれているサブディレクトリにファイルを追加します。



コピーした後、元のファイルディレクトリを削除することを忘れないでください。

rm -rf MP_genus_network_files/

明らかに、ここcp -r同じ認識で、rsync with cpバックアップファイルを使用すると、最終的にどのような違いが生じますか?これはベンピアンの焦点では​​ないため、単純にリストされています。

rsyncソースから宛先へのファイルのコピーに対応し、パラメーターを設定して、多くのファイルやフォルダーのプロパティを維持できます。バックアップ用のファイルのコピーの場合、rsync全体の比率cpより良いrsyncコンテンツへの変更のみをコピーします。ただし、これは絶対的なものではありません。たとえば、cp -u同じ効果を達成することもできます。



参照: https://askubuntu.com/questions/269775/mv-directory-not-empty
参照: https://www.crifan.com/linux_command_rsync_vs_cp/