在 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