"find ... -exec mv ..."コマンドを実行すると、奇妙な内容を含むファイルが生成されます。

"find ... -exec mv ..."コマンドを実行すると、奇妙な内容を含むファイルが生成されます。

/myhome/sourcedirバイナリファイルをフォルダから別のフォルダに移動したいです/myhome/targetdir。コマンドを使用しました。find /myhome/sourcedir -type f -cmin +3 -exec mv '{}' /myhome/targetdir ';'

/myhome/sourcedirこのコマンドを実行する前にフォルダがありましたが、フォルダは/myhome/targetdir存在しません。ただ作成するのを忘れました/myhome/targetdir

このコマンドの結果 -/myhome/targetdir新しいファイルが生成されます。ファイルが大きく、奇妙な記号がたくさん含まれています。))

すべてのファイルをどのように回復しますか?

答え1

finda、b、cという3つのファイルが見つかったとします。その結果、3つのコマンドが生成されます。

mv a /myhome/targetdir
mv b /myhome/targetdir
mv c /myhome/targetdir

したがって、aは/myhome/targetdirに名前が変更され、bは/myhome/targetdirに名前が変更され(元aが壊れて)、cは/myhome/targetdirに名前が変更され、元のbが壊れます。ファイルcは大丈夫です(名前が変更されただけです)。他のファイルに問題があります。見る上書きされたファイルを回復できますか?。何かを修復することもできます。

今後は以下を使用してください。

mv -t /myhome/targetdir '{}' 

より安全になります。

関連情報