Unix编程更改目录

3
请有人能够解释一下这些吗:
$ cd /usr/local/bin 

切换到目录 /usr/local/bin

然后从当前目录切换到目录 /usr/home/amrood,使用相对路径:

$ cd ../../home/amrood

(这是相对路径中的双点,我不理解)
欢呼。

我认为当当前工作目录为/usr/local/bin时,改变目录到../../home/amrood是行不通的。一个..会改变到/usr/local,另一个..会改变到/usr,在/usr中没有home,通常也不会有。 - Armen Michaeli
3个回答

1
在Unix文件路径中,双点表示“返回上一级目录”。因此,如果您在/usr/local/bin目录下,../..表示您将从当前路径中删除binlocal(向上移动两个目录)。然后添加homeamrood,最终到达/usr/home/amrood目录。

1
每次使用 ..,你都会向树的上一个节点遍历。首先是 /usr/local,然后到达 /usr。所以现在你在 usr 目录下,这意味着你可以导航到 home/amrood。为了缩短路径,你可以使用 ../../home/amrood

1

/usr/local/bin路径开始,你可以使用绝对路径:

$ cd /usr/home/amrood

或相对路径:
$ cd ../../home/amrood

但是并不存在 /usr/home/user 目录。要进入当前用户目录,您应该使用快捷方式 ~

$ cd ~
$ pwd    # /home/user

双点号表示“返回上级目录”。例如,从用户主目录开始:
$ pwd     # /home/user
$ cd ..
$ pwd     # /home

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接