题
下面是一个相当基本的* 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;
}
不隶属于 StackOverflow