为什么在将文件向上移动多个级别时'mv'命令不起作用

时间:2015-10-26 18:30:16

标签: linux terminal mv sles

操作系统:SLES12 VM

所以我从一个目录开始: DirA double d = Double.parseDouble("40123.012345678901");

我的目标是将文件从此目录移动到由...指定的目录 DirB_rel /home/user/testA/testB

注意:/home/user/testA/testB/../../deliverables/rpm/SOURCE是一个符号链接,未包含在 DirB_abs

当我cd到它时,给出了一个pwd 的 DirB_abs testA

问题是,当我尝试使用/home/user/deliverables/rpm/SOURCE(尝试过tar.gz和.txt)从DirA移动文件到DirB_rel时,文件会按预期从原始位置删除,但它不会出现在新的位置,因此丢失。

E.g。 mv - >文件消失

但是,当我使用目录B的绝对路径时,mv testFile.txt DirB_rel可以正常工作。

E.g。 mv - >成功

有什么想法在这里发生?

谢谢!

2 个答案:

答案 0 :(得分:0)

mv命令将引用您当前所在的目录,而不是文件所在的目录。所以,如果我们在家〜/并想将〜/ A /文件移动到〜/ B /文件,你可以按如下方式使用mv:

mv A/file ../B/

请注意,如果您使用此

EXPOSE

该命令将在/ home / B中查找B而不是〜/ B,因为我们在〜/目录中发出命令。

答案 1 :(得分:0)

问题在于符号链接。当你执行user/testA/testB/../../并且testA是asymlink时,你不会回到用户,而是到目录的父目录testA链接到