常规设置
-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/ \;