Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 软链接问题_Unix - Fatal编程技术网

Unix 软链接问题

Unix 软链接问题,unix,Unix,我删除了指向x二进制的符号链接,重新创建了指向y二进制的相同链接,即现在它指向y二进制而不是x二进制 当我从二进制文件的位置运行二进制文件时,它给出了正确的结果。假设二进制文件位于某个位置 $/tmp/value>/y 输出是正确的 如果我转到另一个目录, /abd/def>/tmp/value/y 它给了我x二进制的输出 有人能告诉我为什么我会遇到一些问题。心理调试建议您移动了shell(或其父目录之一)的当前目录,因此现在非常困惑。也许值dir insidetmpdir本身就是一个在两者之间

我删除了指向x二进制的符号链接,重新创建了指向y二进制的相同链接,即现在它指向y二进制而不是x二进制

当我从二进制文件的位置运行二进制文件时,它给出了正确的结果。假设二进制文件位于某个位置

$/tmp/value>/y 输出是正确的

如果我转到另一个目录, /abd/def>/tmp/value/y 它给了我x二进制的输出


有人能告诉我为什么我会遇到一些问题。

心理调试建议您移动了shell(或其父目录之一)的当前目录,因此现在非常困惑。

也许
dir inside
tmp
dir本身就是一个在两者之间更改的符号链接?我们在这里猜测

ls -la /tmp
ls -la /tmp/value
ls -la /abc/def

这些二进制文件是什么?它是一个查看其名称以确定其功能的程序吗?提示:使用
ls-l yourlink
查看它指向的位置(它可能是一个相对目录,这意味着它将(应该)指向与其位置相关的文件)。此外,如果将相对符号链接移动到另一个目录,其目标将发生变化。仅供参考,在某些情况下,通过符号链接处理当前目录时,bash的行为非常不直观。