[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/