我试图将一个目录中的所有文件移动到另一个目录中。前两次尝试时出现错误,但第三次尝试时命令似乎成功了。但是源目录现在是空的,但文件不在目标目录中。它们不见了还是有办法恢复它们?
这是我执行的命令(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
目录中有哪些文件。在检查文件和大小并使用和进行测试touch
并make dir
执行相同的最后一个mv
命令后,我可以检查命令是否正确执行并且文件是否按预期移动。无论如何,谢谢你@wineunuuchs2unix和@heynnema请留意。