2014-10-06 37 views
0

我想弄清楚两种不同的cd命令会导致同一个目录的条件。 例如:在什么情况下,cd/b/c/d/e和cd d/e都会变为同一个目录?关于UNIX中的cd命令

有人可以帮助我,因为我不太明白如何解决这个问题。

+0

它可以是/ b/c/d/e吗? – dursk 2014-10-06 01:24:43

+0

通过符号链接。 – timrau 2014-10-06 01:25:05

回答

1

的值如果您在目录中创建下文B的符号链接目录“d”:

例如

/温度/ B/C/d/e为目录结构

cd /temp 

ln -s /temp/b/c/d 

现在临时,你将有两个目录,一个真实的,一个符号链接到d内。

/temp$ ls -al 
total 12 
drwxrwxr-x 3 temp temp 4096 Oct 5 18:25 . 
drwxr-xr-x 34 temp temp 4096 Oct 5 18:24 .. 
drwxrwxr-x 3 temp temp 4096 Oct 5 18:24 b 
lrwxrwxrwx 1 temp temp 20 Oct 5 18:25 d -> /temp/b/c/d 

,你可以做

cd b/c/d/e 

cd d/e 

,并获得相同的目录。

1

说你是在/b/c

然后pwd(当前工作目录)cd /b/c/d/e将带您到相同的位置,

在第一个要定义的绝对路径,而在第二你正在定义相对路径。

1

让我们来看看例子:

cd b/c/d/e 
cd d/e 

他们都使用相对路径E/ 事实上,我们可以假设,在秒一个,你是在目录Ç

当我说相对路径时,这是因为您在路径开始时没有/,这意味着cd将寻找路径您从当前目录中提供($ PWD)。

cd ./b/c/d/e 
cd ./d/e 

cd "$PWD"/b/c/d/e 
cd "$PWD"/d/e 

你可以得到的pwd命令将当前目录。它会给你的PWD环境变量