撤消将不带目录的子级文件移动到单个平面目录

撤消将不带目录的子级文件移动到单个平面目录

常规设置

-root-dir<br>
---dir-tar<br>
---file<br>
---dir<br>
------dir<br>
------file<br>
---dir<br>
------dir<br>
------fil<br>

我运行的命令:

find ./dir -type f -iname "*" -exec mv {} --target-directory=dir-tar /;

我当时在root-dir (注意 dir-tar 在 root-dir 里面)

问题

没有移动任何子目录。现在列出所有文件,dir-tar但没有列出其子目录(基本上是杂乱无章的!)

所以任何帮助都会很感激。他们有关于什么东西去了哪里的信息吗?我试着ls -lrt查看日期或时间,但没有真正的模式可以将它们拼凑起来。

任何帮助都值得感激。谢谢。

答案1

好吧,find 按照你的要求做了。它找到了每个文件并移动了每个文件。除非你有某种参考资料(备份、存档),否则我相信几乎不可能恢复原始结构,因为据我所知,文件系统没有移动文件的反向选项。

将来,在命令前添加“echo”可能是明智之举,这样在执行命令之前就能看到会发生什么。在这个特定情况下,你想要完成的事情可以通过mv dir/* tar-dir以下方式实现:

find /path -type d -maxlevel 1 -exec -->echo<-- mv {} /dest/ \;

相关内容