命令“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

假设find找到3个文件:a、b、c。这导致了 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 '{}' 

会更安全。

相关内容