执行 mv /parentdir/otherparentdir/somedir/* /parentdir/destdir/ 后我的文件会丢失吗?

执行 mv /parentdir/otherparentdir/somedir/* /parentdir/destdir/ 后我的文件会丢失吗?

我试图将一个目录中的所有文件移动到另一个目录中。前两次尝试时出现错误,但第三次尝试时命令似乎成功了。但是源目录现在是空的,但文件不在目标目录中。它们不见了还是有办法恢复它们?

这是我执行的命令(Downloads位于/DataVolume/shares/Public目录):

$ cd /DataVolume/shares/Public
$ shopt -s dotglob
$ mv -i Downloads/* /DataVolume/shares/Ricardo/Downloads
mv: target `/DataVolume/shares/Ricardo/Downloads' is not a directory
$ mv -i Downloads/* /DataVolume/shares/Ricardo/Downloads/
mv: target `/DataVolume/shares/Ricardo/Downloads/' is not a directory
$ mv -i Downloads/* /DataVolume/shares/Ricardo/

执行完最后一条命令后,我查看了一下,/DataVolume/shares/Ricardo/但文件不见了。然后我去查看,/DataVolume/shares/Public/Downloads发现文件已经是空的了。

更新 如果我执行命令ll /DataVolume/shares/Ricardo/我会得到这个

$ ll /DataVolume/shares/Ricardo/
total 11252
drwxrwxr-x  5 root     share      32768 Feb 13  2016 zzzzzz ADirectory
drwxrwxr-x  2 root     share       4096 Feb 12  2016 rrrrrr ADirectory
-rw-rwxr-x  1 root     share    5741378 Feb 12  2016 xxxxx.dmg
drwxrwxrwx 15 www-data www-data    4096 May 16  2018 Documents
drwxrwsr-x  8 ricardo  share       4096 Feb 26  2017 DocumentsOld
-rw-rwxr-x  1 root     share    3514909 Feb 12  2016 yyyyyy.dmg
drwxrwsr-x  7 ricardo  share       4096 Jan 29  2016 OtherDir2
drwxrwxr-x  3 ricardo  share       4096 May 16  2018 OtherDir
drwxrwsr-x  2 ricardo  share       4096 Sep 30  2015 Other Dir3
-rw-rwxr-x  1 root     share    2188642 Feb 12  2016 zzzzz.tar.tar.gz

我注意到的一件事是,的日期时间./DataVolume/shares/Ricardo/的日期时间相同/DataVolume/shares/Public/Downloads

/DataVolume/shares/Ricardo$ ls -hal
drwxrwx---+ 10 root     share    4.0K Sep 22 09:23 .
drwxrwxr-x  11 root     share    4.0K Sep 22 09:06 ..
...
/DataVolume/shares/Public$ ls -hal
...
drwxrwxr-x   2 root    share 4.0K Sep 22 09:23 Downloads
...

答案1

我刚刚才发现命令确实成功了。我只是不记得Downloads目录中有哪些文件。在检查文件和大小并使用和进行测试touchmake dir执行相同的最后一个mv命令后,我可以检查命令是否正确执行并且文件是否按预期移动。无论如何,谢谢你@wineunuuchs2unix@heynnema请留意。

相关内容