我不小心将目录移至“...”。它去哪儿了?

我不小心将目录移至“...”。它去哪儿了?

在 Linux 中重命名文件夹时,我不小心在目录名称中留下了尾部斜杠,

mv /images/images/ ..

现在该文件夹已经消失,但我知道由于它使用的空间,它仍然存在,我认为它已重命名为“..”,但我似乎无法将其重命名回来?有人知道答案吗? :)

答案1

mv /images/images/ ..images将目录中调用的目录移动/images到该目录的父目录中当前目录

当前目录是您运行该命令时所在的目录mv。你的目录不会“消失”。您只需要弄清楚运行mv命令时您所在的位置,然后从那里找到父级。

如果是(或曾经是)目录,PS mv /images/images ..(不带尾随/)会做完全相同的事情。/images/images通过添加斜杠,您在行为中看到的唯一区别是,如果结果是文件而不是目录,则强制mv命令失败。/images/images

答案2

..表示父目录。假设你在home/user/TEST文件夹中,那里有images1/images2目录。然后您现在有一个images2文件夹 inhome/user/和一个images1文件夹 in TEST,没有子目录images2

~$ mkdir TEST
~$ cd TEST
~/TEST$ mkdir -p images1/images2
~/TEST$ touch images1/images2/a_file
~/TEST$ mv images1/images2/ ..
fti@erebe:~/TEST$ ls images1
fti@erebe:~/TEST$ ls ..
images2  TEST
fti@erebe:~/TEST$ ls ../images2/
a_file

我没有看到 中的第一个斜杠/images/images
由于您位于根文件夹 ( /) 中,并且由于根文件夹没有父目录,因此与移动到 ( )/..相同。换句话说,中的文件现在应该位于.//images/images/../images/images/images/foo.txt/images/foo.txt

相关内容