我执行了以下命令,打算将文件移动到子目录中。
sudo mv myFile.jar hexara/*
Run Code Online (Sandbox Code Playgroud)
我应该使用以下语法吗?
sudo mv myFile.jar hexara
Run Code Online (Sandbox Code Playgroud)
或者?
sudo mv myFile.jar hexara/
Run Code Online (Sandbox Code Playgroud)
正在调用 Sudo,因为我所在的区域的帐户没有写入权限。我正在使用 SSH 在远程服务器上工作。
无论如何,在此之后,子ls文件夹 hexara 的一个显示我移动的文件不存在,并且 hexara 目录中的许多文件现在都丢失了。之前有3个子文件夹和1个index.htm文件,但现在只剩下1个子文件夹。
是我格式错误的 mv 命令导致文件消失,还是我应该怀疑存在其他形式的故障或发生了不同的错误?有干预命令——我导航到另一个区域并在进入 hexara 并发现丢失之前返回,并制作了 CLI 的副本(如果这有任何帮助)。
这样的事情可以恢复吗?
Anls -al显示以下内容:
phil@ladonax:/var/lib/jetty9/webapps/hexara$ ls -al
total 12
drwxr-xr-x 3 jetty adm 4096 Jun 30 10:26 .
drwxr-xr-x 6 jetty adm 4096 Jun 30 10:26 ..
drwxr-xr-x 4 jetty adm 4096 Jun 30 10:26 VSL
Run Code Online (Sandbox Code Playgroud)
顺便说一句,VSL中有14个文件,所以我不知道上面的“总共12个”来自哪里。在丢失之前,hexara 目录可能包含三个子文件夹,并且其中只有一个文件。但我不明白为什么这会出现在“总数”中,但不会出现在随附的列表中。
幸运的是我有这个目录的备份文件。但我真的很困惑到底发生了什么。我使用的是 Ubuntu 20.04。
是的,队列中有一个升级 Jetty 的任务,但我认为这与这个问题没有任何相关性。
编辑:我发现 hexara 子目录中的所有文件都已移至 hexara/VSL 中。关于为什么../webapps $ mv myFile.jar hexara/*会导致文件被../webapps/hexara移入的任何想法../webapps/hexara/VSL?
sudo mv myFile.jar hexara/*
Run Code Online (Sandbox Code Playgroud)
这会将 myFile.jar 移动到./hexara/VSL/. 证明:
rinzwind@discworld:~/tmp/tmp/tmp$ ls
hexara myFile.jar
rinzwind@discworld:~/tmp/tmp/tmp$ pwd
/home/rinzwind/tmp/tmp/tmp
rinzwind@discworld:~/tmp/tmp/tmp$ mv myFile.jar hexara/*
rinzwind@discworld:~/tmp/tmp/tmp$ ls hexara/VSL/
myFile.jar
Run Code Online (Sandbox Code Playgroud)
要恢复做
cd hexara/VSL/
mv myFile.jar ../../
Run Code Online (Sandbox Code Playgroud)
或者修复(因为您希望它位于 ./hexara/ 中)
cd hexara/VSL/
mv myFile.jar ../
Run Code Online (Sandbox Code Playgroud)
目录*会扩展,因此当有 2 个或更多目录时,所有内容都会移动到最后一个目录。
mv myFile.jar hexara/*
Run Code Online (Sandbox Code Playgroud)
做
mv myFile.jar hexara/VSL hexara/WSL
Run Code Online (Sandbox Code Playgroud)
证明:
rinzwind@discworld:~/tmp/tmp/tmp$ ls -ltr
total 4
-rw-rw-r-- 1 rinzwind rinzwind 0 jun 30 20:45 myFile.jar
drwxrwxr-x 4 rinzwind rinzwind 4096 jun 30 20:51 hexara
rinzwind@discworld:~/tmp/tmp/tmp$ ls -ltr hexara/
total 8
drwxrwxr-x 2 rinzwind rinzwind 4096 jun 30 20:51 WSL
drwxrwxr-x 2 rinzwind rinzwind 4096 jun 30 20:51 VSL
Run Code Online (Sandbox Code Playgroud)
搬家后...
rinzwind@discworld:~/tmp/tmp/tmp$ mv myFile.jar hexara/*
Run Code Online (Sandbox Code Playgroud)
VSL 也被移动:
rinzwind@discworld:~/tmp/tmp/tmp$ ls -ltr hexara/
total 4
drwxrwxr-x 3 rinzwind rinzwind 4096 jun 30 20:52 WSL
rinzwind@discworld:~/tmp/tmp/tmp$ ls -ltr hexara/WSL/
total 4
-rw-rw-r-- 1 rinzwind rinzwind 0 jun 30 20:45 myFile.jar
drwxrwxr-x 2 rinzwind rinzwind 4096 jun 30 20:51 VSL
Run Code Online (Sandbox Code Playgroud)
需要更多的维修。