我执行了以下命令,打算将文件移动到子目录中。
sudo mv myFile.jar hexara/*
我是否应该使用以下语法?
sudo mv myFile.jar hexara
或者?
sudo mv myFile.jar hexara/
调用 Sudo 是因为我所在的区域帐户没有写入权限。我使用 SSH 在远程服务器上工作。
无论如何,在此之后,ls
子文件夹 hexara 的显示我移动的文件不存在,并且 hexara 目录中的许多文件现在都丢失了。以前有三个子文件夹和一个 index.htm 文件,但现在只剩下一个子文件夹。
是我的 mv 命令格式错误导致文件消失,还是我怀疑是其他形式的故障或发生了其他错误?中间有命令 - 我导航到另一个区域并返回,然后进入 hexara 并发现丢失,并复制了 CLI 以防万一。
这样的情况还能恢复吗?
显示ls -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
顺便说一下,VSL 中有 14 个文件,所以我不知道上面的“总共 12 个”从何而来。在丢失之前,hexara 目录可能有三个子文件夹,但只有一个文件。但我不明白为什么这个会出现在“总数”中,却没有出现在随附的列表中。
幸运的是我有这个目录的备份文件。但我真的很困惑到底发生了什么。我正在使用 Ubuntu 20.04。
是的,队列中有一个升级 Jetty 的任务,但我认为这与这个问题无关。
编辑:我发现 hexara 子目录中的所有文件都已移至 hexara/VSL。您知道为什么../webapps $ mv myFile.jar hexara/*
会导致 中的文件../webapps/hexara
被移至../webapps/hexara/VSL
吗?
答案1
sudo mv myFile.jar hexara/*
这会将 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
要恢复
cd hexara/VSL/
mv myFile.jar ../../
或者修复(因为你想在 ./hexara/ 中使用它)
cd hexara/VSL/
mv myFile.jar ../
因此*
当有 2 个或更多目录时,所有内容都会移动到最后一个目录。
mv myFile.jar hexara/*
做
mv myFile.jar hexara/VSL hexara/WSL
证明:
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
搬家后……
rinzwind@discworld:~/tmp/tmp/tmp$ mv myFile.jar hexara/*
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
需要更多修理。