【发布时间】:2015-10-26 18:30:16
【问题描述】:
操作系统:SLES12 VM
所以我从一个目录开始:
DirA:/home/user/testA/testB
我的目标是将文件从这个目录移动到由
DirB_rel:/home/user/testA/testB/../../deliverables/rpm/SOURCE
注意:testA 是一个符号链接,不包含在 DirB_abs
当我 cd 到它时,它会给出一个密码
DirB_abs:/home/user/deliverables/rpm/SOURCE
问题是,当我尝试使用mv(已尝试使用 tar.gz 和 .txt)将文件从 DirA 移动到 DirB_rel 时,该文件按预期从原始位置删除,但它没有出现在新位置因此丢失了。
例如mv testFile.txt DirB_rel -> 文件消失
但是,当我使用目录 B 的绝对路径时,mv 可以正常工作。
例如mv testFile.txt DirB_abs -> 成功
知道这里发生了什么吗?
谢谢!
【问题讨论】:
-
protip:如果将文件移动到目录,请始终使用尾部斜杠:
mv myfile mydir/,这样如果 mydir 不存在,则会收到错误消息而不是创建 mydir 作为文件(如果 mydir 确实存在则相同,但作为文件在这种情况下结果将更加灾难性) -
你在路径的某个地方有一些符号链接吗?
-
@Nir Levy:是的,testA(包含在 DirB_rel 中,我无法将文件移动到的那个)是一个符号链接。有问题吗?