如何将我的密码更改为符号链接目录的真实路径?


83

这是一个非常基本的* nix问题:

给定以下符号链接的创建:

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

...从我的主目录/ home / jvf /中,输入myproject符号链接会给我一个pwd / home / jfv / myproject /。现在,我想输入符号链接到的目录的父目录,但是cd ..命令只会将我带回到我的主目录/ home / jfv /。无论如何,是否有逃脱我输入的符号链接跟踪的方法,而是具有等于myproject目录的实际路径的pwd 。也就是说,将我的密码从/ home / jfv / myproject /更改为/ usr / local / projects / myproject /吗?

谢谢 :)

Answers:



7

如果执行以下操作,则应该没问题。

1)首先,您遵循符号链接:

[jfv@localhost ~]$ cd myproject

2)现在执行以下命令:

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

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

[jfv@localhost myproject]$ pwd

输出如下:

/usr/local/projects/myproject

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


3

通过编程,您可以使用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;
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.