Tim*_*Tim 7 shell directory cd-command symlink
当我们通过软链接 cd 进入一个目录时,我观察到:
ls ..将显示链接目录的父目录的内容,而cd ..将在软链接的父目录下。他们为什么不同?
cd ..后跟 tab 不提供任何完成选项,无论是链接目录的父目录的内容,还是软链接的父目录的内容。为什么会这样?
在上述情况下,我们如何知道在所有目录命令中,哪些适用于链接目录或其软链接?
因为 bash(可能还有其他 shell)会跟踪您下降的路径,包括符号链接,以便使您的路径返回看起来像向下的路径。
Bash 知道你是如何进入工作目录的,因为它cd必须是一个内置的 shell。当您运行ls ..shell 时,不能替换“符号路径”,因为grep ..它也是有效的,并且翻译..会非常混乱。
事实上,shell 目前有两种解释..,可以争论这两种解释就像它从未试图提供帮助一样令人困惑。