下面是一个相当基本的* nix的问题:

鉴于下面的符号链接创建:

ln -s /usr/local/projects/myproject/ myproject

...从我的主目录中的 /首页/ jvf / ,进入的myproject 符号链接给我一个PWD /首页/ JFV / myproject的/ 。现在,我想进入我符号链接到该目录的父目录,但在 CD .. 命令只会带来我回到我的家目录 /首页/ JFV / 即可。反正是有逃跑的符号链接的山路,我已经进入,而是有一个PWD等于的myproject 目录的实际路径。也就是说,从 /首页/ JFV / myproject的/ 在/ usr /本地/项目/ MyProject的/

改变我的PWD

感谢:)

有帮助吗?

解决方案

只需使用-P(物理)标志:

pwd -P

cd -P ..

其他提示

如果您做以下你应该确定。

1)首先你按照你的符号链接:

[jfv@localhost ~]$ cd myproject

2)现在你执行以下命令:

[jfv@localhost myproject]$ cd -P ./

3)现在,你可以检查你的位置,你会看到你的物理目录

[jfv@localhost myproject]$ pwd

的输出将是如下:

/usr/local/projects/myproject

现在,你所做的一切将是本地,而不是符号链接。

编程,你可以这样做与GETCWD库函数:

#include <unistd.h>
#include <stdio.h>

int main(int argc, char **argv)
{
    char buf[1024*1024L];
    char *cwd;

    cwd = getcwd(buf, sizeof buf);
    if (cwd == NULL) {
        perror("getcwd");
        return 1;
    }
    printf("%s\n", cwd);
    return 0;
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top