Shell
命令“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
創建了新文件。文件很大並且包含很多奇怪的符號))如何恢復我的所有文件?
假設
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 '{}'
會更安全。